检测用户可见性

时间:2013-05-30 08:33:52

标签: c# asp.net sql

如果用户是否登录,我的程序需要检测用户可见性。我把信息放在数据库上

这里是伪代码:

如果用户单击“登录”,则将用户信息更新为ONLINE = TRUE;

否则,如果用户单击“LOGOUT”,我将用户信息更新为ONLINE = FALSE;

我的问题是:如何在不点击“退出”的情况下检测用户是离开网站还是关闭计算机

感谢您的祝福

2 个答案:

答案 0 :(得分:0)

您可以通过跟踪用户的上一个活动并在用户在最后一分钟内有活动时在线显示。

除此之外,您可以使用JavaScript的轮询机制,每分钟左右更新此值,用户通过使用JavaScript发送请求来打开网页。

答案 1 :(得分:0)

您无法仅在服务器端检测用户活动。因为如果刚刚登录的用户没有说什么:他可以在下一秒清除cookie并再次登录,并且越来越多。

正如我所看到的,你需要在客户端有一些js代码,如果每N秒说:用户仍然登录并使用当前浏览器页面和/或执行某些操作,请求服务器。一旦服务器没有来自某个用户的请求,例5xN秒 - 您可以将该用户标记为非活动/离线