| 
| 技术资料  > PHP技术 > 经典文章 : 聊天室技术-处理异常离线的方法 |  
聊天室技术-处理异常离线的方法 March 23,2004 |  
某些网友由于线路掉线,死机等原因,不能通过正常的途径离开聊天室,造成在线人数不能正常显示!解决的方法一般为 
 
1 建立在线人数文件,里面保存在线人的id/pass/time 其中time 为最后的更新时间 
2 聊天程序正常运行时每隔一段时间更新自己的 id/pass/time 通知系统自己在线,一般可以为1-2分钟 
3 系统每格一段时间扫描一次在线人名单,查找那些已经超过规定时间(比如5分钟)没有更新的id,确认为已经异常离线 
4 在线人数为文件里的行数,名单为行数据 
 
我的现在提供下载的聊天室就是采用这种方法实现的! 
 
这种方法流程比较简单,但在人多时的文件共享问题成为关键,本人通过实践,发现一种消耗系统资源非常少,能很好解决共享的方法! 
 
具体思路如下: 
 
1 建立一个 useronline 子目录存放在线人员数据 
2 每个进入的人在里面建立一个以用户名为文件名的文件。内容为空! 
3 聊天程序正常运行时,每隔一段时间更新自己的子目录里的文件 
4 系统根据目录里文件更新的时间判断用户数否离线 
5 在线人数为目录里的文件数,名单为文件名 
 
优点:每个人之更新自己的文件,不影响其他人,不存在共享问题! 
 
由于可以每隔5分钟扫描一次,故消耗资源很少! 
 
在我的新版聊天室中将采用这种技术! 
  |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved