获取socket.io room中的客户端列表(2.0)

时间:2017-10-02 19:14:17

标签: socket.io

使用 Socket.io 2.0 时如何获取会议室中所有客户的列表?

有很多相关的问题,但没有一个是版本2.0或回答这个问题。最接近的答案是2.0,但只解释了如何在使用Redis时获取客户端列表,这不是使用socket.io的要求。

2 个答案:

答案 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]
});

这是默认名称空间的。我的意思是没有命名空间。