Javascript Sails.js。如何计算在线用户?
我是sails.js(node.js)的新手。现在获取在线用户数量的最佳方法是什么?我不确定这是否是最佳方法,但一种方法可能是使用web套接字 在客户端,当有人连接时,它可以发送用户名或电子邮件,因此您可以在服务器端保留在线用户列表 然后在web套接字断开连接时,从联机用户列表中删除该用户 现在,你有了在线用户的数量 有关如何使用web套接字的更多信息,请查看Javascript Sails.js。如何计算在线用户?,javascript,node.js,sails.js,Javascript,Node.js,Sails.js,我是sails.js(node.js)的新手。现在获取在线用户数量的最佳方法是什么?我不确定这是否是最佳方法,但一种方法可能是使用web套接字 在客户端,当有人连接时,它可以发送用户名或电子邮件,因此您可以在服务器端保留在线用户列表 然后在web套接字断开连接时,从联机用户列表中删除该用户 现在,你有了在线用户的数量 有关如何使用web套接字的更多信息,请查看 我希望这能有所帮助 将有一个可用的活动会话池。我建议不要使用socket.io计算用户数,因为它没有100%的回退(在某些情况下需要fl
我希望这能有所帮助 将有一个可用的活动会话池。我建议不要使用socket.io计算用户数,因为它没有100%的回退(在某些情况下需要flash)很抱歉回复太晚,但这在#sails.js中已经出现过几次 我不知道我的方法是否一定正确,但它从0.9.4开始工作,这是迄今为止我发现的最好的方法:
// if sails is undefined, get it out of global
var sails = global.sails,
ws = sails.ws,
channel = req.param('channel') || '', // by room, or '' for top level
current = ws.of(channel).manager.open; // an array of socket ids
如果您没有使用ws
,sails.io
也可以工作(结构略有不同)。请调用current.length
以获取已连接客户端的数量,或者您可以执行以下操作:
var status = [];
for (var x in current) {
if (ws.of(channel).manager.handshaken.hasOwnProperty(x)) {
status.push(ws.of(channel).manager.handshaken[x].session.user);
}
}
- 找出他们是谁。:)嗯