其实网易也是拿了国外的代码来改了下就做了自己的摄取的。该代码好象在国外的网站上有,可以找来看看就知道怎么会事了。
另外,网易判断一个用户在线与否,我想可以通过这样的法子实现。
1、登录的时候,把用户信息记录到一个表中。其中关键数据是当前登录时间。同时得
到一
个用户唯一标识的号码。
2、网易的页面不断地自动刷新。请注意页面中的:
<meta http-equiv="Refresh"
content="20;url=http://club.netease.com:8888/xxxx">
其中,该url应该是一个专门用来进行身份验证重新登记的地址。xxxx是和个人信息
相关
的一个字符串,就是上面说的用户唯一标识号。每次刷新,其实就是修改表中的该用
户的记
录中的当前时间为现在的时间。
3、每次操作的时候需要验证用户身份。验证用户身份的过程应该是:
A、判断此人是否用户;
B、从当前在线表中取出在线人员列表,看此人是否在列表中。如果不在,那肯定是超
时。如果在,那操作继续。如何判断超时其实就是一个如何确定在线人员列表的问
题。假设
10分钟超时,那么在线表其实就是所有符合条件:目前时间-上次登记时间<10分钟
的所有
记录。这个上次登记时间就是在刷新页面的时候填写的时间。
4、定时清空不在线人员的记录,以保持该表的规模和提高检索效率。