Список всех клиентов, подключенных к комнате в версии Socket.io> 1
После того, как метод io.sockets.clients() был обесценен из более поздних версий Socket.io, и после того, как мое исследование не смогло найти никакой документации на веб-сайте socket.io.
Далее, он дает ошибку типа для метода clients(), как показано ниже:
TypeError: undefined не является функцией
Кто-нибудь понял, как перечислить всех подключенных клиентов в комнате с более поздними версиями Socket.io?
Ответы
Ответ 1
Чтобы получить идентификаторы сокетов клиентов, подключенных к комнате, используйте этот код:
var namespace = '/';
var roomName = 'my_room_name';
for (var socketId in io.nsps[namespace].adapter.rooms[roomName]) {
console.log(socketId);
}
Edit:
Чтобы получить сокет по ID сокета, вы можете попробовать следующее:
var socket = io.sockets.connected[socketId];
Ответ 2
В Socket.IO 1.4
Чтобы получить массив всех подключенных пользователей:
// io.sockets.connected returns an Object with socketId as its key
var allConnectedClients = Object.keys(io.sockets.connected);// This will return the array of SockeId of all the connected clients
Получить кол-во всех клиентов:
var clientsCount = io.engine.clientsCount ; // This will return the count of connected clients