列出所有连接到Socket.io版本> 1的房间的客户端

io.sockets.clients()方法从更高版本的Socket.io中折旧后,我的研究在socket.io官方web上找不到任何文档。

此外,它给客户()方法的types错误如下:

TypeError: undefined不是一个函数

有没有人想出了如何使用更高版本的Socket.io在一个房间里列出所有连接的客户端?

要获得连接到房间的客户端的套接字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]; 

在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