(连接到socket.io中的房间的客户端数)

时间:2014-11-09 16:47:39

标签: javascript node.js socket.io

我一直在努力寻找一种有效的方法来获得socket.io中连接到房间的客户数量。 我被建议调查这个帖子: How to get room's clients list in socket.io 1.0但是,除了检查每个连接插座及其房间以便能够显示单个房间的内容之外,这个线程中目前没有任何解决方案可用。

因此,我需要再次询问:在socket.io的房间中获取(客户)客户端的(最有效)方式是什么?

1 个答案:

答案 0 :(得分:0)

io.nsps[yourNamespace].adapter.rooms[roomName] // default namespace is '/'

如果没有客户端,

返回具有布尔值的客户端对象或undefined。在大多数情况下,您可以使用

获取此对象的长度

Object.keys(io.nsps[yourNamespace].adapter.rooms[roomName]).length

但只有在连接了至少一个客户端时才会起作用,因为返回了未定义的内容。

如果您没有使用任何特定的命名空间,则可以改为使用io.sockets.adapter.rooms[roomName]

默认情况下,当客户端断开连接时,它会离开房间,这种方式对我有用。