Spec-Zone.ru › Socket.IO 4

Вещание событий

Socket.IO упрощает отправку событий всем подключенным клиентам.

Обратите внимание, что вещание — это функция, доступная только на сервере.

Всем подключенным клиентам

Broadcasting to all connected clients
io.emit("hello", "world");

Клиенты, которые в настоящее время отключены (или в процессе повторного подключения), не получат событие. Сохранение этого события где-либо (например, в базе данных) зависит от вашего случая использования.

Всем подключенным клиентам, кроме отправителя

Broadcasting to all connected clients excepting the sender
io.on("connection", (socket) => {
  socket.broadcast.emit("hello", "world");
});

В примере выше, использование socket.emit("hello", "world") (без флага broadcast) отправит событие клиенту «клиент A». Список всех способов отправки события можно найти в справочнике.

С несколькими серверами Socket.IO

Вещание также работает с несколькими серверами Socket.IO.

Вам просто нужно заменить адаптер по умолчанию на адаптер Redis или другой совместимый адаптер.

Broadcasting with Redis

В некоторых случаях вам может потребоваться вещать только клиентам, подключенным к текущему серверу. Это можно сделать с помощью флага local.

io.local.emit("hello", "world");
Broadcasting with Redis but local

Для направления вещания на определенных клиентов см. документацию по комнатам.

© 2014–2021 Automattic
Licensed under the MIT License.
https://socket.io/docs/v4/broadcasting-events

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API