Socket.io房间最多加入

时间:2013-12-30 18:58:06

标签: node.js socket.io

嗯,标题说明了一切。如何获得最多连接插座的房间?列出按套接字排序的方法很简单。如果有办法,它的效率如何?如果不是,那么人们可以采用自己有效的方式吗?

1 个答案:

答案 0 :(得分:1)

没有经过测试,但我认为这可行:

var roomNames = Object.keys(io.sockets.manager.rooms);
var sortedByNumberOfClients = roomNames.sort(function(room1, room2) {
  return io.sockets.manager.rooms[room2].length - io.sockets.manager.rooms[room1].length;
});
// sortedByNumberOfClients is an array of room names, sorted on
// number of clients in the room, largest room first.

我确实认为有一个空字符串('')作为包含所有客户端的名称的默认房间,因此您可能想跳过它。另外,我认为内部socket.io会为每个房间名称添加一个前导/