所以我正在尝试实时显示我的在线玩家,到目前为止它运行良好,除了一个问题。当我的应用程序侦听断开连接时,似乎页面刷新触发了此功能并且所述播放器已注销。
app.io.route("disconnect", function(req,res) {
db.query("UPDATE player_data SET online=0 WHERE id="+mysql.escape(req.session.user));
req.io.broadcast("event", {msg:req.session.username+" has logged out!"});
app.io.broadcast("reloadXY");
req.session.destroy();
});
为什么页面刷新会触发此功能?(我知道这是这个功能,因为玩家退出的唯一其他方式是通过退出链接)我怎样才能让它忽略页面刷新而只捕获断开连接,比如关闭浏览器?
编辑:如何“ping”重新连接事件,以便检查页面是否重新加载与关闭?重新加载将立即重新连接,因此我只需要检查所述重新连接。我就是不知道怎么办!