从Socket.io的更高版本中折旧了io.sockets.clients()方法,之后我的研究在socket.io官方网站上找不到任何文档。
此外,它为clients()方法提供了类型错误,如下所示:
TypeError: undefined不是函数
有没有人想出如何使用更高版本的Socket.io列出房间中所有连接的客户端?
答案 0 :(得分:27)
要获取连接到房间的客户端的套接字ID,请使用以下代码:
var namespace = '/';
var roomName = 'my_room_name';
for (var socketId in io.nsps[namespace].adapter.rooms[roomName]) {
console.log(socketId);
}
修改强>
要按套接字ID获取套接字,您可以尝试这样做:
var socket = io.sockets.connected[socketId];
答案 1 :(得分:-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