1
在我的网站我有所有在线用户的列表,通过Node.js的实时更新之间的连接(我使用now.js)Node.js加载如何让页面载入
的问题是,当用户浏览我的网站时,他们当然会在新页面加载时断开几秒钟。这意味着它们会从所有其他客户端的列表中消失,并在几秒钟后重新出现。
有什么办法可以设置断开连接功能的超时时间,例如:如果用户在30秒内未重新连接,请从列表中删除,否则不要?
或者如果有更好的方法来实现这个目标?可有人请点我在正确的方向:)
编辑:
想出了一个可行的解决方案,如果有人想知道。在服务器端我有这个功能
nowjs.on('disconnect', function() {
everyone.now.clientDisconnected();
});
其中只要用户断开连接客户端上的调用此函数
now.clientDisconnected = function() {
setTimeout(function() { now.serverUpdateUsers(); }, 20000);
}
因此,而不是更新的用户马上,我们等待20秒。届时用户应完成加载新页面,并且所有其他客户端都不会显示任何差异。
serverUpdateUsers();
是收集所有用户数据并将其推送给所有客户端的服务器功能。
是的,也许是个好主意。但我真的不知道他们是如何相互作用的。上面提出了一个简单的解决方案...也许不是最佳的,但它的工作原理 – hampusohlsson