@WAYNEDEV

Как реализовать через socket.io отправку данных конкретному юзеру?

Всем привет
В общем есть игра, где пользователи делают различные действия.
Все действия обрабатываются и данные передаются в бд юзеров, но вот не знаю как передать из бд через сокеты именно его данные и чтоб именно у него отобразились изменения, если они есть
Суть задачи: если пользователь авторизован и на его айдишник произошли изменения в бд, то в реалтайме нужно показать эти изменения
Авторизация сделана jwt + passport.js
Помогите пожалуйста
  • Вопрос задан
  • 220 просмотров
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Храним в памяти (или в кэше) "таблицу" с ассоциациями соединений и пользователей. При соединении таблица пополняется, при дисконнекте, соответственно, удаляются нужные записи. Когда событие происходит - ищем все его соединения и на каждый шлем одно и то же сообщение.
Ответ написан
Комментировать
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
При сообщении от определённого сокета, возвращайте сообщению сокету, а не серверу.

server:

io.on('connect', function(socket) {
  socket.emit('message','Учите документацию!');
});


client:

socket.on('message', function(data) {
  console.log(data);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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