我在这里做了一些搜索并找到了答案
// list all connected sockets
var list = io.sockets.sockets;
console.log("Connected sockets:");
list.forEach(function(s) {
console.log(" socket.id = ", s.id);
});
Run Code Online (Sandbox Code Playgroud)
但因为io.sockets.sockets;那提到没有一个数组它不起作用.所以我有两个问题:
a)如何访问连接的所有插座?
b)如何访问连接到特定房间的插座?
干杯
PS:之前问过这个问题,但这些问题已经过时了.
Nij*_*esh 12
在最新版本的socket.io(1.4.5)中你必须这样做
Object.keys(io.sockets.sockets);
Run Code Online (Sandbox Code Playgroud)
这将返回一个包含已连接套接字ID的数组,您可以在其上应用forEach.
Object.keys(io.sockets.sockets).forEach(function(id) {
console.log("ID:",id) // socketId
})
Run Code Online (Sandbox Code Playgroud)
现在好了,对于B部分,可以将插座连接到一个房间使用的插座
Object.keys(io.sockets.adapter.rooms["ROOM_NAME"].sockets) //returns array of socketId's
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8478 次 |
| 最近记录: |