检查用户是否离线

时间:2011-04-12 11:03:08

标签: php

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

你是怎么处理的?

1)我不想依赖于使用注销按钮触发的脚本,因为没有人注销...人们只需关闭浏览器。

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

2 个答案:

答案 0 :(得分:4)

当用户与网站互动时,请设置其上次活动时间。

如果超过30分钟左右,您可以假设它们处于脱机状态。

您还可以在点击注销时明确将某人设置为离线。

但是,你的情况有点不同。您可以使用心跳样式脚本。

虽然他们在页面上,但使用setInterval()可以延长到期日期,最长可达范围(如果用户将浏览器窗口打开数小时)。

答案 1 :(得分:2)

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

所以常见的方法是使用时间戳并更新此戳记,如果用户在您的网站上执行了某些操作,并且如果时间戳早于5分钟,则您只是假设他处于离线状态