Code Bye

关于用户非正常退出时同步他的在线状态问题

现在有一个网站,用户假如正常点击页面的退出按钮当然是没问题,但是假如用户是直接关闭浏览器或关机 断网之类的情况下,要怎么实现这个同步在线状态功能呢?  有考虑到session的过期,但是session过期是有一定时间的,不能实现同步, 而且用session过期时也不知道怎么取这个session的数据(如用户的id), 有没有高手能解惑呀,,这该怎么做呢。 ps: C#写的。
解决方案

5

一般判断能否在线用的是发送心跳数据,也叫心跳包,这个包一般很小。你定义一个特殊意义发字段,每个一段时间网页程序向服务器发送一个心跳,服务器收到这个用户发来的心跳,则说明这个用户在线,一段时间内没收到就说明不在线。就像人的心脏,每隔一段时间跳动一下。

5

考虑到浏览器众多,内核百家齐鸣,而且你不能约束用户指定用某种浏览器,所以最好的解决方法是在服务器设置心跳包,定期检测用户能否还在线。

40

这就好像你去判断一个人是不是你们公司的人,只要没有办法员工登记册上看到他的登记,那么你就可以说“他不是我们公司的人”。你不应该纠结于他不在你们公司时还必须在员工登记册上登记“不在公司”的问题。
全部认识都要根据现实而灵活变通。这个变通的思路的关键,就好像上面的“登记册”一样,需要能够全盘接受完全“反过来”的设计。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于用户非正常退出时同步他的在线状态问题