Отправить сообщение всем подключенным клиентам socket.io

#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');