如何在socket.io v1+;中获取已连接套接字对象(而不是套接字ID)的列表;?
我使用的是更新版本的socket.io,我不知道如何获取socket对象的列表。我已经学习了一些教程和StackOverflow答案,例如: 我也看过文档,但没什么帮助。我找到的所有帖子都解释了如何获取socketId,但我需要套接字本身,这样我就可以只向某些套接字发射如何在socket.io v1+;中获取已连接套接字对象(而不是套接字ID)的列表;?,socket.io,Socket.io,我使用的是更新版本的socket.io,我不知道如何获取socket对象的列表。我已经学习了一些教程和StackOverflow答案,例如: 我也看过文档,但没什么帮助。我找到的所有帖子都解释了如何获取socketId,但我需要套接字本身,这样我就可以只向某些套接字发射 那么,您是如何获得实际的套接字本身的,还是在较新版本的套接字中不再可能实现这一点呢?您可以有两种选择: // An object with socket.id as property and socket object as
那么,您是如何获得实际的套接字本身的,还是在较新版本的套接字中不再可能实现这一点呢?您可以有两种选择:
// An object with socket.id as property and socket object as value
// You could iterate this with for/in or use `Object.keys()` to get the ids
// and then access each socket by id
// io.sockets.connected
var ids = Object.keys(io.sockets.connected);
ids.forEach(function(id) {
var socket = io.sockets.connected[id];
// do something with socket here
});
// an array of sockets which you can iterate directly as an array.
// io.sockets.sockets
io.sockets.sockets.forEach(function(socket) {
// do something with socket here
});
您还可以单独访问名称空间:
// array of sockets in this namespace
io.nsps['/'].sockets
// map of socket ids in this namespace
io.nsps['/'].connected