Heim  >  Artikel  >  Backend-Entwicklung  >  聊天室技术-处理异常离线的方法_PHP

聊天室技术-处理异常离线的方法_PHP

WBOY
WBOYOriginal
2016-06-01 12:32:321144Durchsuche

些网友由于线路掉线,死机等原因,不能通过正常的途径离开聊天室,造成在线人数不能正常显示!解决的方法一般为

1 建立在线人数文件,里面保存在线人的id/pass/time 其中time 为最后的更新时间
2 聊天程序正常运行时每隔一段时间更新自己的 id/pass/time 通知系统自己在线,一般可以为1-2分钟
3 系统每格一段时间扫描一次在线人名单,查找那些已经超过规定时间(比如5分钟)没有更新的id,确认为已经异常离线
4 在线人数为文件里的行数,名单为行数据

我的现在提供下载的聊天室就是采用这种方法实现的!

这种方法流程比较简单,但在人多时的文件共享问题成为关键,本人通过实践,发现一种消耗系统资源非常少,能很好解决共享的方法!

具体思路如下:

1 建立一个 useronline 子目录存放在线人员数据
2 每个进入的人在里面建立一个以用户名为文件名的文件。内容为空!
3 聊天程序正常运行时,每隔一段时间更新自己的子目录里的文件
4 系统根据目录里文件更新的时间判断用户数否离线
5 在线人数为目录里的文件数,名单为文件名

优点:每个人之更新自己的文件,不影响其他人,不存在共享问题!

由于可以每隔5分钟扫描一次,故消耗资源很少!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn