内部的socket.io客户端列表位置

我想知道,如果Socket.io会内部做簿记,并允许用户检索客户列表,或者如果我们将手动需要跟踪连接的客户端列表如下所示:

var Server = require('socket.io'); var io = new Server(3980, {}); const clients = []; io.on('connection', function (socket) { clients.push(socket); socket.on('disconnect', function () { clients.splice(clients.indexOf(socket),1); }); }); 

socket.io是否存储连接列表,如下所示:

 io.connections 

要么

 io.sockets 

比我期望find这个信息更麻烦,对于更新版本的socket.io。 我正在使用version => "socket.io": "^1.7.2"

下面的函数将给你一个套接字对象的数组:

 function clients(namespace) { var res = []; var ns = io.of(namespace || "/"); if (ns) { Object.keys(ns.connected).forEach(function (id) { res.push(ns.connected[id]); }); } return res; } 

也许你需要这个: io.sockets.connected

 var clients = Object.keys(io.sockets.connected);