在网上可以搜到的几乎所有文档中,似乎都没有更新socket.io获取房间内所有用户列表的方法。以至于教程甚至文档都在使用
io.sockets.adapter.rooms['my_room']
有些在使用
io.of("/chat").in("general").clients
在尝试了无数之后,发现V3.+后这个方法已经更新,如下:
Namespace.clients() is renamed to Namespace.allSockets() and now returns a Promise
This function returns the list of socket IDs that are connected to this namespace.
Before:
// all sockets in default namespace
io.clients((error, clients) => {
console.log(clients); // => [6em3d4TJP8Et9EMNAAAA, G5p55dHhGgUnLUctAAAB]
});
// all sockets in the "chat" namespace
io.of("/chat").clients((error, clients) => {
console.log(clients); // => [PZDoMHjiu8PYfRiKAAAF, Anw2LatarvGVVXEIAAAD]
});
// all sockets in the "chat" n