如何知道用户是在网站上还是离线上

时间:2012-10-15 07:00:12

标签: php mysql database

  

可能重复:
  Check if user is offline

我正在建立一个社区网站。用户将通常登录和注销。 我使用在线/离线属性状态来设置用户的状态。但是如果用户只是单击X按钮或者在没有注销的情况下断开连接怎么办? 它显示登录状态。我如何知道用户目前是否在线?

2 个答案:

答案 0 :(得分:11)

您有三种选择:

  1. 如果用户未在特定时间段(例如10分钟)内加载新页面,则可以假设用户处于离线状态。这可以通过为服务器上的每个用户保留“最后一页加载时间”来完成。

  2. 您可以在页面上创建一个脚本,每隔一段时间就触发一次AJAX调用,告诉服务器“我还在这里” - 这将使用与#1相同的逻辑,但会更多一些可靠。

  3. 您可以使用页面卸载AJAX调用在浏览器卸载页面时告知服务器,并将用户标记为脱机,直到他们加载其他页面为止。

答案 1 :(得分:0)

我会使用ajax来更新用户表(每5分钟一次),如果最后一次更新最多4分钟他在线,10分钟前然后他就离开了,大于15离线。或者在这里有一个节点js Advice on implementing "presence" for a web site?