热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP学堂之聊天室处理异常离线的方法

文章标题:PHP学堂之聊天室处理异常离线的方法。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  某些网友由于线路掉线,死机等 原因,不能通过正常的途径离开聊天室,造成在线人数不能正常显示!解决的方法一般为
  
  1 建立在线 人数文件,里面保存在线人的id/pass/time 其中time 为最后的更新时间
  
  2 聊天程序正常运行时每隔一段 时间更新自己的 id/pass/time 通知系统自己在线,一般可以为1-2分钟
  
  3 系统每格一段时间扫描一次在线 人名单,查找那些已经超过规定时间(比如5分钟)没有更新的id,确认为已经异常离线
  
  4 在线人数为文件 里的行数,名单为行数据
  
  我的现在提供下载的聊天室就是采用这种方法实现的!
  
  这种方法流 程比较简单,但在人多时的文件共享问题成为关键,本人通过实践,发现一种消耗系统资源非常少,能很好解 决共享的方法!
  
  具体思路如下:
  1 建立一个 useronline 子目录存放在线人员数据
  
  2 每 个进入的人在里面建立一个以用户名为文件名的文件。内容为空!
  
  3 聊天程序正常运行时,每隔一段时间 更新自己的子目录里的文件
  
  4 系统根据目录里文件更新的时间判断用户数否离线
  
  5 在线人数为目录里 的文件数,名单为文件名
  
  优点:每个人之更新自己的文件,不影响其他人,不存在共享问题!
  
  由于可以每隔5分钟扫描一次,故消耗资源很少!
  
  在我的新版聊天室中将采用这种技术!!!
  
推荐阅读
author-avatar
真知棒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有