Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Socket.io 2.0.4-通过所有连接的插座循环_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript Socket.io 2.0.4-通过所有连接的插座循环

Javascript Socket.io 2.0.4-通过所有连接的插座循环,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,您好,我正在尝试遍历所有连接的套接字,并检查它们是否具有我要查找的会话数据(userid)。这是我的代码(不起作用): var clients=io.sockets.clients(); console.log(客户端); 对于(i=0;i

您好,我正在尝试遍历所有连接的套接字,并检查它们是否具有我要查找的会话数据(userid)。这是我的代码(不起作用):

var clients=io.sockets.clients();
console.log(客户端);
对于(i=0;i
我的问题是如何找到套接字数组,因为io.sockets.clients()似乎不会返回包含套接字对象的数组。

这应该对您有所帮助

var sockets = io.sockets.sockets;
for(var socketId in sockets) {
          var s = sockets[socketId]; 
}
插座。io@2.3.0

io.sockets.sockets
是一个对象,其中键是
socketId
,值是对套接字对象的引用

Object.keys(io.sockets.sockets).forEach((socketId) => {
  const socket = io.sockets.sockets[socketId];
})

Define
不起作用
io.sockets.clients()。connected不会返回套接字数组,因此我发现很难遍历所有已连接的socket可能重复的Ty,稍后会尝试,但它说socket.io 0.7您有clients方法,这就是我发布的代码中的方法。(io.sockets.clients())
Object.keys(io.sockets.sockets).forEach((socketId) => {
  const socket = io.sockets.sockets[socketId];
})