请看网易站如何判断一个用户还是否在线(写社区时的问题)

发表于:2007-06-30来源:作者:点击数: 标签:
其实网易也是拿了国外的代码来改了下就做了自己的摄取的。该代码好象在国外的网站上有,可以找来看看就知道怎么会事了。 另外,网易判断一个用户在线与否,我想可以通过这样的法子实现。 1、登录的时候,把用户信息记录到一个表中。其中关键数据是当前登录时
其实网易也是拿了国外的代码来改了下就做了自己的摄取的。该代码好象在国外的网站上有,可以找来看看就知道怎么会事了。

另外,网易判断一个用户在线与否,我想可以通过这样的法子实现。

1、登录的时候,把用户信息记录到一个表中。其中关键数据是当前登录时间。同时得
到一

个用户唯一标识的号码。

2、网易的页面不断地自动刷新。请注意页面中的:

<meta http-equiv="Refresh"
content="20;url=http://club.netease.com:8888/xxxx">

其中,该url应该是一个专门用来进行身份验证重新登记的地址。xxxx是和个人信息
相关

的一个字符串,就是上面说的用户唯一标识号。每次刷新,其实就是修改表中的该用
户的记

录中的当前时间为现在的时间。

3、每次操作的时候需要验证用户身份。验证用户身份的过程应该是:

A、判断此人是否用户;

B、从当前在线表中取出在线人员列表,看此人是否在列表中。如果不在,那肯定是超

时。如果在,那操作继续。如何判断超时其实就是一个如何确定在线人员列表的问
题。假设

10分钟超时,那么在线表其实就是所有符合条件:目前时间-上次登记时间<10分钟
的所有

记录。这个上次登记时间就是在刷新页面的时候填写的时间。

4、定时清空不在线人员的记录,以保持该表的规模和提高检索效率。

原文转自:http://www.ltesting.net