3

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

4

1 回答 1

3

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

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()以获取所有已连接的用户详细信息。

于 2013-06-11T18:32:14.850 回答