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

Don*_*n P 5 socket.io

使用Socket.io 2.0时如何获得房间中所有客户的列表?

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

Don*_*n P 8

找到它,答案被埋没在Socket.io的文档中,在"命名空间"下,而不是"空间".

例如,如果您在命名空间"/ chat"中并希望房间中的所有客户端都是"常规",则可以执行以下操作:

io.of('/chat').in('general').clients((error, clients) => {
  if (error) throw error;

  // Returns an array of client IDs like ["Anw2LatarvGVVXEIAAAD"]
  console.log(clients); 
});
Run Code Online (Sandbox Code Playgroud)