Socket.io命名空间中的用户数

时间:2013-06-11 16:58:01

标签: node.js socket.io

是否有任何内置方法可以找出连接到使用Socket.io的Node.js服务器中特定命名空间的用户数?

1 个答案:

答案 0 :(得分:2)

可以有更好的方法,但这应该有效:

Object.keys(io.of('/chat').manager.handshaken).length       //handshaken clients
Object.keys(io.of('/chat').manager.connected).length        //connected clients
Object.keys(io.of('/chat').manager.open).length             //open clients
Object.keys(io.of('/chat').manager.closed).length           //closed clients

您可以将/chat替换为您的命名空间。命名空间必须以/开头。这些是socket.io对象io中的对象,它们存储连接的用户(执行console.log(io.of('/chat').manager.connected)以查看对象)。

更新

更简单的方式io.of('/chat').clients().length。请参阅io.of('/chat').clients()以获取所有已连接的用户详细信息。