聊天室关键技术[用户断线]处理

2016-01-29 18:21 10 1 收藏

聊天室关键技术[用户断线]处理,聊天室关键技术[用户断线]处理

【 tulaoshi.com - ASP 】

  在编聊天室时,处理用户断线是一个刺手的问题,特别是放到免费网站上,如果一味地靠global.asa,什么时候触发session_onend,application_onend,都是一个不确定的数字,在设计时,合理地安排会带来意想不到的好处。
    那么有什么最简便办法处理用户断线呢?
    笔者经过试验,有了以下的方法:
    聊天室用N个application("user" & N)来保存用户名,再用application("TimeBegin")来保存每个用户的登录时间,同时,在用户登录时用session("TimerBegin")保存登录时间(timer),在发言区设定刷新时间为N秒,每次刷新将session("TimeBegin")的时间更新,同时判断timer - application("user"&session(userID)) 是否N秒,如果是则说明该用户没有自动刷新,即意味着已经断线,即可将该application("user"&N)设为空值,再提示该用户已退出即可。
        部分代码:
    total = application("AllPeople")'聊天总人数
    aryHuman = split(total,";")
    for i = lbound(aryHuman) to ubound(aryHuman) - 1
    if application("user" & i) = "online" then
    if int(timer) - int(application("TimeBegin" & i)) 120 then
    application("user" & i) = ""
    temp = aryHuman(i)
    aryName = split(temp,",")
    hrefname =  aryName(0)
    for j = lbound(aryHuman) to ubound(aryHuman) - 1
    if application("user" & j) = "online" then
    application("content" & j) = "<FONT color=#000000【公告】"&hrefname&"</FONT" &"<font  color=#F08000
"& "断线..." & "</font<font color = #000000 class=p9" & "   <" & time() & "</font<br" & application
("content" & j)
    end if
    next
    end if
    end if
    next
 

来源:http://www.tulaoshi.com/n/20160129/1505422.html

延伸阅读
标签: ASP
  群言 sense 我曾经做过一个比较复杂的聊天室,几乎拥有BBS聊天室的所有功能,但因为是用application做的,所以比较浪费资源。我觉得用数据库做更可靠,更简单。 可以设定这样的一个数据库chat,结构如下: 字段名 类型 长度 备注 1.. OBJECT CHAR 10 操作对象,ALL或某人 2...
标签: ASP
  合肥 程双明         经 常 在Internet 上 冲 浪 的 网 友 恐 怕 很 少 有 人 没 有 去 过 聊 天 室 胡乱神聊。 你 只 要 稍 微 留 意 一 下 就会 发 现 这 些 聊 天 室 大 多 是 用CGI 程 序 或 者 用JAVA 开 发 的 Applet 维 护 的。 开 发 过 这 类CGI 或Applet ...
标签: ASP
      我们试着在客户端用浏览器打开chatview.asp,我们果然看到自动刷新的页面,不错吧!下面,我们就要考虑如何把发言部分与刷新部分在同一个页面上显示:那需要用到框架。 框架,那是最简单不过的了,直接用Frontpage即可构建。请看如下代码: <frameset rows="*,90" frameborder="0&...
标签: Web开发
下面我用读写文本文件的方式给大家简单介绍一下聊天室的制作。该聊天室一共有四个主要的PHP文件: login.php用来登录 htmlbodyform action="chat.php"房 间:select name="room" option value="大厅"大厅/option option value="客房"客房/option option...
标签: Web开发
很早就想发出来了,一直以来都没什么时间,今天偷个空先把代码发上面,明天来写注释. 还是那句话,AJAX是一种应用,而不是一个专门的技术,我认为做做DEMO要的是速度,要让看的人好理解,而JS是最基本的WEB语言,相信比起其他的语言来说,要明了很多,所以我还是选择用JS写前后台代码.但并不代表我不会其他的语言,程序关键还是在于自我对实现的想法,而用什...

经验教程

938

收藏

97
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部