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

Рассылка в Nest

Один клиент добавил строку в память, а остальные вкладки об этом не узнали. Подтверждение только отправителю не обновляет экраны у тех, кто уже держит канал открытым.

Поле с WebSocketServer даёт доступ к общему серверу Socket.IO. Через него шлюз может разослать сигнал каждому активному соединению, а не одному клиенту. Так список на всех экранах может обновиться сразу после записи в массиве сервиса.

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

import { MessageBody, SubscribeMessage, WebSocketGateway, WebSocketServer, } from '@nestjs/websockets'; import { Server } from 'socket.io'; import { PostService } from './post.service.js'; @WebSocketGateway() export class PostGateway { @WebSocketServer() server: Server; postService: PostService; constructor(postService: PostService) { this.postService = postService; } @SubscribeMessage('createPost') handleCreatePost(@MessageBody() body: { title: string }) { this.postService.add(body.title); this.server.emit('postsChanged', { count: this.postService.posts.length, }); } }

Добавьте в WorkerGateway рассылку числа записей в памяти всем подключённым клиентам после каждого нового имени работника.

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