官方文档好简洁,没看到有说这个的。。。难道是我看漏了
当前多少用户,要你自己去统计处理的,room我不太清楚
https://socket.io/docs/rooms-and-namespaces/ Default namespace
我直接打印了io.sockets.server,看到id和sockets.就是无法进一步引用了 Server { sockets: Namespace { sockets: { Np4CUYyc2hzYxnL_AAAA: [Object] }, connected: { Np4CUYyc2hzYxnL_AAAA: [Object] }, }, eio: Server { clients: { Np4CUYyc2hzYxnL_AAAA: [Object] }, clientsCount: 1,
},
httpServer: Server {
_connections: 1,
},
engine: Server {
clients: {
Np4CUYyc2hzYxnL_AAAA: [Object]
},
clientsCount: 1,
}
}
用户数量需要累加吧,room我也不清楚
强行测试出来了。哇咔咔 这两种都可以获取连接数量 server_log(‘eio_clients=’+io.eio.clients); server_log(‘engine_clients=’+io.engine.clients);
@nasaplayer 获取当前连接的用户数量 定义一个var users = []; 在 add user (或者别的什么名字)中,判断存在否,不存在就添加到users中 在 disconnect(或者别的什么名字)中,移除用户 用户的数量就是users.length 获取当前用户socket id 看这里 https://github.com/chanywn/OneToOneChat/blob/master/server.js
(https://github.com/wang-weifeng/socket)可以看看这个,刚写的
io = require(‘socket.io’)(server);
io.on(‘connection’, function (socket) { io.eio.clientsCount // 链接数量 socket.adapter.rooms // 所有房间 socket.nsp.connected // 所有链接 })