帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > PHP编程
聊天室技术-处理异常离线的方法
作者: 发布时间:2005-03-11 来源:PHP世纪网

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

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

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

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

具体思路如下:

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

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

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

在我的新版聊天室中将采用这种技术!

 

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·Windows下集成安装Apache,PHP,MYSQ
·Mysql注入:SQL Injection with MyS
·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统