Socket.io: невозможно отправить сообщение в конкретный сокет с помощью socket.id

Я сохраняю socket.id каждого пользователя, когда он входит в систему с помощью redis

redisClient.set(user._id + ':socket', socket.id)

Когда создается какое-либо сообщение для этого user._id, я пытаюсь отправить событие в сокет этого конкретного пользователя, используя socket.id, сохраненный выше.

var mySocket=redisClient.get(user._id + ':socket')

socket.broadcast.to(mySocket).emit('my message', msg);

Проблема в том, что я не могу передавать данные в этот конкретный сокет, используя приведенный выше код. Я использую socket.io версии> 1.0. Может ли кто-нибудь помочь мне понять, неправильно ли я получаю socket.id


person Kallan    schedule 16.03.2015    source источник
comment
Вы уверены, что получаете правильный user._id при получении его из Redis?   -  person H. Mahida    schedule 16.03.2015


Ответы (1)


Попробуйте;

  io.to(socket.id).emit("event", data);

Это должно тебе помочь .. !!

person H. Mahida    schedule 16.03.2015
comment
Спасибо за ответ, Махида, но я попробовал это и не сработало. Я думаю, что socket.id меняется, и я не храню последнюю версию для этого пользователя. - person Kallan; 16.03.2015