Menjoy
@Menjoy

Socket.io: как получить определенный socket по id?

Добрый день.

Есть следующая ситуация.
Из server.js пробрасываю в другой файл io = require('socket.io')(server);
С другого сервера приходит запрос с кукой, в которой содержится id нужного сокета.

Цель -- получить объект сокета зная его id, т.к. нужно отредактировать его сессию.

Получить через io.sockets.sockets[socketId] и через io.sockets.socket(socketId) не получается.
  • Вопрос задан
  • 4187 просмотров
Решения вопроса 1
Menjoy
@Menjoy Автор вопроса
sockets.io 1.0.6

Получилось достать вот так.

if (io && io.sockets && io.sockets.sockets) {
        var sockets = io.sockets.sockets,
            socket = null;

        if (sockets.length) {
            for (var i = 0; i < sockets.length; i++) {
                var _socket = sockets[i];

                if (_socket.id && _socket.id === socketId) {
                    socket = _socket;
                    break;
                }

            }
        }

        return socket;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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