РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpSoCn 149 of 201 menu
◀ ▶

Подключение клиента в Nest

Клиент открыл канал, а сервер ещё не знает, сколько таких соединений активно. Счётчик или приветствие не появятся, пока нет точки входа в момент установки связи.

Класс шлюза может реализовать OnGatewayConnection и описать метод, который Nest вызывает при каждом новом клиенте. В параметр приходит сокет библиотеки: по его полям можно вести учёт или сразу отправить короткий сигнал только этому соединению.

Покажем на примере постов:

import { OnGatewayConnection, WebSocketGateway, WebSocketServer, } from '@nestjs/websockets'; import { Server, Socket } from 'socket.io'; import { PostService } from './post.service.js'; @WebSocketGateway() export class PostGateway implements OnGatewayConnection { @WebSocketServer() server: Server; postService: PostService; connectedCount = 0; constructor(postService: PostService) { this.postService = postService; } handleConnection(client: Socket) { this.connectedCount += 1; client.emit('welcome', { posts: this.postService.posts.length, }); } }

В WorkerGateway увеличивайте счётчик активных клиентов при каждом новом соединении и отправляйте этому клиенту число работников уже лежащих в памяти.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить