频道直达 - 专题 - 新闻 - 基础 - 高级 - 安装 - 技巧 - 数据库 - 手册 - PHP - Linux - Java - MySQL - Apache - 麻辣堂 - 狼盟 - Rails社群 - 搜索 - 下载 - 开源 - 论坛
PHP开发资源网 主页>>PHP基础教程>> 收藏此文 | 收藏本站 | 设为首页

关于在线办公系统,侦测不正常退出的解决办法。

来源: 作者: 出处: 2007-6-4 21:34:32 进入讨论组
关 键 词: 关于在线办公系统,侦测不正常退出的解决办法。

请各位大哥提出更好的解决方案

========================================================
方案1。

工作需求:
当下属传送签署文件到上级时,在上级计算机网页会跳出讯息通知窗口,告知有私人文件送达,如果上级未上线,则传送手机简讯告知。

问题:
1. 当发生未按程序注销时,会造成系统以为使用者还在在线,而发生传送简讯和讯息通知的问题。
2. 讯息通知和手机简讯实时性。

建议:
* 侦测断线:
1. (web 这种被动的处理模式很难 "立刻" 知道使用者已离线这件事...一般会用以下方法来侦测)---- 在Server端的程序则是建立一个数据表(例如命名为backtime),纪录登入时间、回传的时间、client IP…等信息,。在client网页上,隐藏一个frame或iframe,以javascript的timer定时(例如5分钟)将iframe转址执行一个 php网页 (更新backtime数据表的回传时间)。
2. 以linux的cron排程定时去执行一个php网页,侦测backtime数据表内的每位登入者的回传时间字段是否超过5分钟,如果超过,则删除此登入者。
* 侦测是否有讯息通知:
1. 当网页埋入一个隐藏frame或 iframe,以javascript的timer定时(例如5分钟)去执行一个 php网页时(是否跟更新回传时间同一个php网页,则视系统整体性为主),在此php 里也包含检查是否有讯息通知(当然在数据库内要有此纪录),有的话在此php网页执行javascript的弹出窗口告知有讯息通知。(loading会比较重,但较具实时性,否则只能当使用者reload网页或跳到系统另外的网页时,才能侦测到是否有讯息通知)。
Ps. 以iframe来做会比较类似背景作业。
* 手机简讯通知:
1. 此部份可使用linux的cron排程定时去执行php网页(是否要跟检查登入者回传时间同一张php网页,则视系统整体性为主)。当使用者未登入,有讯息尚未接收、且手机简讯尚未发送,则传送手机简讯。

结论:
上面方法仍然存在着时间差、实时性、loading是否太重问题。对于时间差和loading问题需详细思考每张网页和server端 cron排程执行时的协调性,时间调太短loading 会加重,但时间差距较小;时间调太长往往会丧失实时性。而实时性则需端看公司能忍受的时间范围,且须告知公司延迟的时间范围。

方案2(这个不知道能不能实现,请各位指点,如果这个能实现的话那就更好了,我也没有试过,只是这样想的)

由服务器端主动发起对客户端浏览器是否仍开启的侦测;
譬如由数据库查出对象用户的uid,sid或相关ip等所需数据,再以php或javascript命令查询客户端
浏览器版本或浏览器须响应的数据,以查询响应的值决定浏览器是否开启!欢迎进入PHP开发资源论坛讨论。
收藏此文】【 】【打印】【关闭
相关文章
图文推荐
论 坛 资 源
PHP开发资源网奋斗目标
阅读排行:
热门技术文档
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容
 
   网站首页 -  网站地图 -  网站合作 -  手册中心 -  通用网址 -  网站论坛 -  网站投稿 -  友情链接 -  帮助中心
版权所有:PHP开发资源网 © 2003-2008 通用网址:PHP资源网 合作媒体: 赛迪网IT技术
互联网违法和不良信息举报中心 | 不良信息举报信箱