使用 Socket.io 2.0 时如何获取会议室中所有客户的列表?
有很多相关的问题,但没有一个是版本2.0或回答这个问题。最接近的答案是2.0,但只解释了如何在使用Redis时获取客户端列表,这不是使用socket.io的要求。
答案 0 :(得分:5)
找到它,答案被埋没在Socket.io的文档中" namespace",而不是" room"。
例如,如果您在名称空间" / chat"并且希望房间里的所有客户都能够做到这一点:
io.of('/chat').in('general').clients((error, clients) => {
if (error) throw error;
// Returns an array of client IDs like ["Anw2LatarvGVVXEIAAAD"]
console.log(clients);
});
答案 1 :(得分:0)
https://socket.io/docs/server-api/#namespace-clients-callback
io.of('/').in('room name').clients((error, clients) => {
if (error) throw error;
console.log(clients); // => [Anw2LatarvGVVXEIAAAD]
});
这是默认名称空间的。我的意思是没有命名空间。