检查用户是否离线


Check if user is offline

我有一个在线游戏。我希望显示有多少用户在线。问题在于知道用户何时离线。是否有一种方法可以对会话cookie进行检查,以确认与浏览器的会话是否已关闭?我想简单地在服务器上设置一个超时,启动一个脚本,计算有多少会话cookie存在,但我如何检查会话cookie是关于谁登录的人,而不仅仅是一个访问者?

你是怎么处理的?

1)我不想依赖于注销按钮触发的脚本,因为没有人注销…人们直接关闭浏览器。

2)关于时间戳和注册活动?因为在我的游戏中,用户与svg交互(而不是在页面中移动),所以它们会产生大量点击。为每一个刷新记录的点击进行查询将是非常昂贵的。

当用户与站点交互时,设置他们的最后一次活动时间。

如果时间超过30分钟左右,你可以认为他们是离线的。

您也可以显式地设置某人离线当他们点击登出

然而,你的情况有点不同。您可以使用heartbeat样式的脚本。

当它们在页面上时,使用setInterval()延长有效期,达到最大范围(以防用户将浏览器窗口打开数小时)

由于您的代码在加载页面时执行,因此您无法检查用户是否关闭了浏览器。

通常的做法是使用时间戳如果用户在你的网站上做了什么就更新时间戳如果时间戳大于5分钟就假设他离线了