【发布时间】:2013-06-11 16:58:01
【问题描述】:
是否有任何内置方法可以找出连接到使用 Socket.io 的 Node.js 服务器中特定命名空间的用户数量?
【问题讨论】:
是否有任何内置方法可以找出连接到使用 Socket.io 的 Node.js 服务器中特定命名空间的用户数量?
【问题讨论】:
可能有更好的方法,但这应该可行:
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() 以获取所有已连接用户的详细信息。
【讨论】: