T
T
tupoi2017-07-16 21:37:57
Node.js
tupoi, 2017-07-16 21:37:57

How to send an Event to a specific user by socket.id?

Good evening, I can’t figure out how to send an event or any data to a specific user knowing his socket id, I found this example on the network

socket.broadcast.to(socket.id.toString()).emit('EVENT', data);

But it does not help, the data is not sent, and this answer was given 2 years ago, so most likely an outdated method and it is no longer in version 2.0.3. Does anyone know how to implement this function?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
emp1re, 2017-07-17
@tupoi

Нужно создать комнату и зайти в нее, и затем отправлять сообщения именно в эту комнату, ну и соотвественно каждому юзеру/сущности нужно создавать такие комнаты.
вам сюда
Алгоритм примерно такой -
- Создаете соединение по nameSpace к примеру '/user'(это делаеться для разделение логики, но можно и пихать все в 1 namespace)
- Определяете уникальное значения для комнаты, я в основном беру user_id из db.
- Заходите в комнату с таким user_id (join создает ее автоматически ).
Далее определяете принцип как вы будете узнавать кому и куда слать сообщения, к примеру брать из request user_id(хороший вариант, но нужно чутка заморочиться) или присылать его с front-end(плохой вариант для реальных проектов)

Виталий, 2017-07-16
@vshvydky

Копирую прямо с доки

// sending to individual socketid (private message)
  socket.to(<socketid>).emit('hey', 'I just met you');

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question