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

Zan*_*r17 13 migration node.js socket.io

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

更重要的是,它为clients()方法提供了类型错误,如下所示:

TypeError: undefined不是函数

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

Ole*_*leg 27

要获取连接到房间的客户端的套接字ID,请使用以下代码:

var namespace = '/';
var roomName = 'my_room_name';
for (var socketId in io.nsps[namespace].adapter.rooms[roomName]) {
    console.log(socketId);
}
Run Code Online (Sandbox Code Playgroud)

编辑:

要通过套接字ID获取套接字,您可以尝试这样做:

var socket = io.sockets.connected[socketId];
Run Code Online (Sandbox Code Playgroud)

  • 这真的很有用.你能告诉我你在哪里找到这个吗?我没有在socket.io的官方网站上看到任何线索.@CuriousGuy (2认同)
  • @TonyChen我也没有在官方文档中找到这个.我刚用`console.log`探讨了socket.io对象 (2认同)