gpt4 book ai didi

node.js - 如何使用 Socket.IO 获取已连接套接字/客户端的列表?

转载 作者:IT老高 更新时间:2023-10-28 21:46:16 28 4
gpt4 key购买 nike

我正在尝试获取当前连接的所有套接字/客户端的列表。

不幸的是,

io.sockets 没有返回数组。

我知道我可以使用数组保留自己的列表,但我认为这不是最佳解决方案,原因有两个:

  1. 冗余。 Socket.IO 已经保存了这个列表的副本。

  2. Socket.IO 提供了为客户端设置任意字段值的方法(即:socket.set('nickname', 'superman')),所以我需要跟上如果我要维护自己的列表,则可以进行这些更改。

我该怎么办?

最佳答案

在 Socket.IO 0.7 中,您在命名空间上有一个 clients 方法。这将返回一个包含所有已连接套接字的数组。

无命名空间的 API:

var clients = io.sockets.clients();
var clients = io.sockets.clients('room'); // all users from room `room`

对于命名空间

var clients = io.of('/chat').clients();
var clients = io.of('/chat').clients('room'); // all users from room `room`

注意:此解决方案适用于 1.0 之前的版本

1.x 及以上版本,请引用 getting how many people are in a chat room in socket.io .

关于node.js - 如何使用 Socket.IO 获取已连接套接字/客户端的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6563885/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com