#websocket #socket.io
#websocket #socket.io
Вопрос:
Я использую приведенный ниже код для отправки сообщения определенному идентификатору сеанса клиента.
this.sockets[SessionID].json().отправить (сообщение)
Но я не знаю, как отправить сообщение всем подключенным клиентам (браузеру) вместо отправки одному.
Ответ №1:
Ознакомьтесь с этой таблицей
отправка только отправителю-клиенту
socket.emit('message', "this is a test");
отправка всем клиентам, включая отправителя
io.emit('message', "this is a test");
отправка всем клиентам, кроме отправителя
socket.broadcast.emit('message', "this is a test");
отправка всем клиентам в «игровой» комнате (канале), кроме отправителя
socket.broadcast.to('game').emit('message', 'nice game');
отправка всем клиентам в «игровой» комнате (канале), включая отправителя
io.in('game').emit('message', 'cool game');
отправка клиенту-отправителю, только если он находится в «игровой» комнате (канале)
socket.to('game').emit('message', 'enjoy the game');
отправка всем клиентам в пространстве имен ‘MyNamespace’, включая отправителя
io.of('myNamespace').emit('message', 'gg');
отправка на отдельный идентификатор socketid
socket.broadcast.to(socketid).emit('message', 'for your eyes only');