@zozyla

Каким образом отправлять уведомления конкретному юзеру в Node.js?

Нашел вот этот код, но если с отправкой сообщения самому себе и всем кроме себя все понятно, то где io.sockets.socket(socketid).emit вообще ничего не понятно. Откуда берется io.sockets, что такое socketid? Просто нашел ответ на вопрос, и этот код якобы из доков, но в доках я не нашел похожего.
// отправить текущему сокету сформировавшему запрос (туда откуда пришла)
socket.emit('message', "this is a test");

// отправить всем пользователям, включая отправителя
io.sockets.emit('message', "this is a test");

// отправить всем, кроме отправителя
socket.broadcast.emit('message', "this is a test");

// отправить всем клиентам в комнате (канале) 'game', кроме отправителя
socket.broadcast.to('game').emit('message', 'nice game');

// отправить всем клиентам в комнате (канале) 'game', включая отправителя
io.sockets.in('game').emit('message', 'cool game');

// отправить конкретному сокету, по socketid
io.sockets.socket(socketid).emit('message', 'for your eyes only');

Есть ли решение которое просто позволяет отправлять личное сообщение по логину юзера, id сессии или как-то еще?
  • Вопрос задан
  • 731 просмотр
Решения вопроса 1
megafax
@megafax
web-программист
Вы когда ловите событие коннекта для пользователя - добавляйте его в "комнату" с его id. Таким образом даже если пользователь зашел с разных устройств - то его socket.id будет в одной и той же "комнате" и Вы сможете заэмитить событие всего лишь по id пользователя
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы