Задать вопрос

Как в socket.io отправить сообщение одному пользователю в комнате?

Есть несколько комнат, пользователь может находится в нескольких одновременно. Как послать сообщение только в одной из комнат?
  • Вопрос задан
  • 682 просмотра
Подписаться 2 Средний Комментировать
Решения вопроса 1
@tr0yka Автор вопроса
Т.к. комнаты - это по сути ID, который добавляется сокету, то пришел к выводу, что сокету нужно добавить его ID + ID комнаты. Т.е. по сути загнать каждого пользователя еще в одну комнату, но личную. И тогда можно обрабатывать такие сообщения. Может поможет кому.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tahyhax
В документации подробно описаны все варианты отправки ивентов Documentation

//sending all clients this room except sender
socket.broadcast.to('roomName').emit('broadcast', 'hello friends!');
// sending to individual socketid (private message)
io.to(socketId).emit('hey', 'I just met you');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы