«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как исключить отправителя из трансляций Socket.IO?

Как исключить отправителя из трансляций Socket.IO?

Опубликовано 9 ноября 2024 г.
Просматривать:909

How to Exclude the Sender from Socket.IO Broadcasts?

Отправка ответа всем клиентам, кроме отправителя

Чтобы передать сообщение всем подключенным клиентам, используется функция io.sockets.emit(): использовал. Однако если вы хотите исключить отправителя из получения широковещательной рассылки, вы можете задаться вопросом о более простом подходе, чем проверка идентификатора отправителя на стороне клиента.

В Socket.IO свойство socket.broadcast предоставляет решение для этого сценария. Используя socket.broadcast.emit(), вы можете отправить сообщение всем клиентам, кроме отправителя. Вот пример:

socket.on('cursor', function(data) {
  socket.broadcast.emit('response', data);
});

В этом примере, когда клиент отправляет событие курсора, сервер передает полученные данные всем другим подключенным клиентам, за исключением отправителя.

Вот краткое описание Socket Функции генерации .IO для справки:

  • socket.emit(): отправляет сообщение только клиенту-отправителю.
  • io.emit(): отправляет сообщение всем клиенты, включая отправителя.
  • socket.broadcast.emit(): отправляет сообщение всем клиентам, кроме отправителя.
  • socket.broadcast.to(): отправляет сообщение всем клиентам в определенной комнате или канале, кроме отправителя.
  • socket.to(): отправляет сообщение клиенту-отправителю, только если он находится в определенной комнате или канале.
  • io .in(): отправляет сообщение всем клиентам в определенной комнате или канале, включая отправителя.
  • socket.broadcast.to(socketid): отправляет сообщение определенному идентификатору клиента.
  • io.of(): отправляет сообщение всем клиентам в определенном пространстве имен, включая отправителя.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3