tupoi
@tupoi

Как отправить Event определенному пользователю по socket.id?

Добрый вечер, не могу понять как отправить event или какие-либо данные определенному пользователю зная его socket id, в сети нашел вот такой пример
socket.broadcast.to(socket.id.toString()).emit('EVENT', data);

Но он не помогает, данные не отправляются, и ответ этот давали 2 года назад, так что скорее всего устаревший метод и в версии 2.0.3 его уже нет. Может кто-нибудь знает как реализовать данную функцию?
  • Вопрос задан
  • 366 просмотров
Решения вопроса 1
@emp1re
Нужно создать комнату и зайти в нее, и затем отправлять сообщения именно в эту комнату, ну и соотвественно каждому юзеру/сущности нужно создавать такие комнаты.
вам сюда

Алгоритм примерно такой -
- Создаете соединение по nameSpace к примеру '/user'(это делаеться для разделение логики, но можно и пихать все в 1 namespace)
- Определяете уникальное значения для комнаты, я в основном беру user_id из db.
- Заходите в комнату с таким user_id (join создает ее автоматически ).
Далее определяете принцип как вы будете узнавать кому и куда слать сообщения, к примеру брать из request user_id(хороший вариант, но нужно чутка заморочиться) или присылать его с front-end(плохой вариант для реальных проектов)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vshvydky
Копирую прямо с доки
// sending to individual socketid (private message)
  socket.to(<socketid>).emit('hey', 'I just met you');
Ответ написан
Ваш ответ на вопрос

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

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