聊天室的刷新问题!!!!!~~~~~~~~~~~~~~
我刚刚开始学ASP,做了个超级简单到没得再简单的聊天室,但是遇到了一个问题,就是聊天室的刷新问题,因为每次刷新,浏览器都会“唰唰”的一声,听得多,令人到烦,可是不刷新又不行,可是我看到一些聊天室又不会这样,请各位高手教我怎样把刷新所导致浏览器发出的“唰唰”声给消除呀,希望大家帮我呀~~~~~
先谢谢了!!
问题点数:90、回复次数:7Top
1 楼beyond_xiruo(CorruptionException)回复于 2002-02-08 13:15:02 得分 90
数据库聊天室的“无刷新”技术要点
聊天室是网络实时交互的最常应用之一。聊天室的制作要解决好以下问题。
1、谁在发言
2、讲给谁听
3、讲些什么
与ICQ不同,ICQ
的数据流是一对一的关系。只要解决好上面三个问题就可以实现。聊天室由于存在一对多、多对一、一对一等多种数据关系,因此就有一个数据的存放问题。
ASP 聊天室的数据存放一般有三种形式: 一是用全局变量Application
和Session对象。这种形式速度快效果好,但系统资源消耗太大。二是应用读写数据库实现。这种方法简明但服务器频繁读写数据据库很累。第三种可用读写TXT文件完成。适合简单的聊天室。三种方法都有一个共性的特点:客户端要获取新的聊天数据,必需刷新调用。刷新时间过短,屏幕晃动厉害,刷新时间过长,等待时间太多感速度太慢。于是人们分别用触发刷新与自动刷新结合从感觉上得到改善。二是利用隐藏帧进行刷新再把内容加在显示帧上,形成所谓“无刷新”聊天室,解决了屏幕晃动问题。
“无刷新”聊天室要解决的技术问题有:
一、如何判断新数据
二、新数据的提取
三、如何让客户断在有新数据时能及时更新
以上一、二用Application很容易实现,但第三个问题不容易解决。用数据库做聊天室,第三个问题相对容易,但第一、二个问题要费点精神。笔者用数据库做的聊天室采用了“无刷新”技术,没有用一个Application,主要的技术要点是:
在数据库中另设置只有一个字段的表,字段名:BS,用户每次登陆读一次BS 的值。 设一个Session别作为每一个具体用户的当前发言次数,初始为
BS-1。用户每发言一次使 BS + 1(Session 值不此时不加,形成Session与BS差)在隐性刷新帧上判断: 如果 BS 与
Session 有差,则读数据库将新数据读出并在显示帧显示。Session+1
表示新数据已经读出,不再重读。反复此过程,直到所有新数据据读出并显示。此时 BS = Session上述方法解决了上面讲的
判断新数据和新数据的提取的问题。由于新数据本身没有任何变化,依然原样存放在数据库中,客户端无论时间差多大,只要自身的Session与BS有差,一当读库,差多少多多少条记录,解决了客户端刷新差异带来的不显示问题。
以上方法,当然也可以用Application来设置 BS。还有一但BS 到了一定值时(看同时发言人数而定),要重置为 1 。以上方法在 IIS
4 平台,局域网、因特网通过。
Top
2 楼ehom(?!)回复于 2002-02-08 13:55:08 得分 0
用其他技术来配合啊!比如flash+ASP来做啊!基本原理相同,和JAVA、XML……相比改造最少!Top
3 楼lxp1314yzp(竹子)回复于 2002-02-08 13:59:48 得分 0
用定时刷新:
<meta http-equiv=refresh content='3;url=*.asp>Top
4 楼dbcontrols(泰山__抛砖引玉)回复于 2002-02-08 16:44:01 得分 0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . ::. . ::::. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . MM::. . LL::MMMMMM. . . . . . . . . . . . . . . . . . . . . . ::. . . .
. . . . . . . . . MMMM. LLMMMMMMMMMMMM. . . . . . . . . . . . . . . . . . . . FFMMLL. . .
. . . . . . . . . MMMMLLLLMMMMMMLLMMLLLLMMLL. . . . . . . . . . . . . . . . . . LLMMLL. .
. . . . . . . . . ::MMMMLLMMMMMMMMLLFFMMMMLL::. . . . . . . . . . . . . . . . . . MMMM::.
. . . . . . . . . . LLMM. MMMMMMLLMMMMMMLL::::. . . . . . . . . . . . . . ::. . . LLMMEE.
. . . . . . . . . . MMLLLLMMMMMMMMMMMMLLLL::. . . . . . . . . . . . . . . FFMMLLLLMMMMMM::
. . . . . . . . . . . . MMMMMMLLMMLLMMMMLL::::. . . . . . . . . . . . . ::. LLMM. LLMMMM::
. . . . . . . FFLL. . . LLLLMMMMMMMMMMMMMMMM. . . . . . . . . . . . . . LLLL::MMLL. MMMM::
. . . . . . . MM. . . LLMMMMMMMMMMMMMMMMMMMM. . . . . . . . . . . . . . . MMMMMMMM. MMMM::
. . . . . . . ::. . LLMMMMMMMMMMMMMMMMMMMMMMLL::. . . . . . . . . . . ::. LLMMMMMMMMLLMM::
. . . . . . ::::. LLMMMMMMMMMMMMMMMMMMMMMMMMMMLL. . . . . . . . . LLLL::::LLMMMMMMMMMMMMLL
. . . . . . LL. ::MMMMMMMMMMMMMMMMMMMMMMMMMMMM::. . . . . . . . . ::MMMM::::MMMMMMMMMMMMLL
. . . . . . ::::MMMMMMMMMMMMMMMMMMMMMMMMMMLL. . . LL::LLLL. . . . . LLMM::::MMMMMMMMLLMM::
. . . . . . . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLL. . . . . . MMMMLLMMMMMMMMMMLLMM::
. . . . . ::::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . . . LLMMMMMMMMMMMMMM. MMMM.
. . . . . . MMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . LLMMMMMMMMMMMMMM::MMMMLL.
. . . . LL::MMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLL. . EEMMMMMMMMMMMMMMLLMMMMLL::LL
. . . LLMMMMMMMMMMMM. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. ::EEMMMMMMMMMMMMMMMMMMMMMMMMMMMM::
. . . LLMMLLMMMMMMLL. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLL::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::
. . . LLMMMMMMMMMM. . MMMMMMMMMMMMMMMMMMMMMMMMLL. . . LLLLLLLLLLFFMMMMMMMMLL::::LLMMMMMM.
. . . LLMMMMMMMMMM. . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::LLLLMMLLLL::. ::MMMMLLFFLL::::. . .
. . . . MMMMMMMM::. . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLL. . . LLMM::EELLMMMMMM::.
. . . . . LLMM::. . . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. ::. . . ::MMMM. . . . . . .
. . . . . . . . . . . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLL. . . . ::::MMMM. . . . . . .
. . . . . . . . . . . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . ::. MM. MMMM. . . . . . .
. . . . . . . . . . . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLL::. ::LL::MMLL. . . . . . .
. . . . . . . . . . . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMEEMMMMMMLLMMMMMM. . . . . . . .
. . . . . . . . . . . LLMMMMMMMMMMMMMMMMMMMMLLMM. LLMMMMMMMMMMMMMMLLMMMM. . . . . . . . .
. . . . . . . . . . MM::MMMMMMMMMMMMMMMMMMLLEE. LLMMMMMMMMMMMMMMMMMMMMLL. . . . . . . . .
. . . . . . . . ::LLLL. MMMMMMMMMMMMMM. . LL. . MMMMMMMMMMMMMMEEMMMMLL. . . . . . . . . .
. . . . . . . . . LLLL. LLMMMMMMMMLLLL::. . ::::MMMMMMMMMMMMMMLLLLMMMM. . . . . . . . . .
. . . . . . . ::. LL. ::::MMMMMMMM. . . ::::::MMMMMMMMMMMMMMMMMMLLMMMM. . . . . . . . . .
. . . . . . . . MMMMMMLLMMMMMMMMMM. . ::::LLLLMMMMMMMMMMMMMMMMMMLLMMMMLL. . . . . . . . .
. . . . . . . FFMMMMLL. MM::MMMMMMFF. ::::::LLMMMMMMMMMMMMMMMMMMLLMMMMMM. . . . . . . . .
. . . . . . . MMMMMM. ::MM. ::MMLL::::MMLL. MMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . . . . . . .
. . . . . . . LLMMMMLL. MM. . . . LLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . . . . . . .
. . . . . . . . MMMMLLMMMMLL. . LLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . . . . . . .
. . . . . . . ::MMMMMMMMMMMMMMMMMMMMMMMMFFMMMMMMMMMMMMMMMMMMMMMMMMMMMMLL. . . . . . . . .
. . . . . . . LLMMMMMMMMMMMMMMMMMMLL. MM::MMMMMMMMMMMMMMMMMMMMMMMMMMMM::. . . . . . . . .
. . . . . . . ::MMMMMMMMMMMMMM::MMMM. LLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . . . . . . . .
. . . . . . . . LLMMMMMMMMMM::. MMMM. . MMMMMMMMMMMMMMMMMMMMMMMMMMMMFF. . . . . . . . . .
. . . . . . . . . MMLLMMMMMMLL. MMMM::LLMMMMMMMMMMMMMMMMMM::MMMMMMMM. . . . . . . . . . .
. . . . . . . . . MM::MMMMMMMM. MMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMM::. . . . . . . . . . .
. . . . . . . . . LLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. . . . . . . . . . . .
. . . . . . . . . . MMMMMMMMMMMMMMMMMMMMMM. MMMMMMMMMMMMMMMMMM::MM. . . . . . . . . . . .
. . . . . . . . . . MMMMMMMMMM::. . LLMM. MMMMMMMMMMMMLLFFLLLL. MM::. . . . . . . . . . .
. . . . . . . . . . MM::MMMMLL. . . ::MM. MMMMMMMMLLLL::. . LL. MM::. . . . . . . . . . .
. . . . . . . . . LLMM. MMMMLL. . . MM::MMMMMMMMLL. . . . . LL::MMLL. . . . . . . . . . .
. . . . . . . . . LLMMLLLLMM::. . ::MMMMMMMMMMMM. . . . . . MMLLMMMM. . . . . . . . . . .
. . . . . . . . . LLMMMMLLMM. . . ::MMMMLL::MM::. . . . . . MMLLMMLL. . . . . . . . . . .
. . . . . . . . . ::MMMMMMLL. . . ::MMLLLLMMLL. . . . . . . MMFFMMLL. . . . . . . . . . .
. . . . . . . . . . MMMMMM::. . . ::MMMMMMMM. . . . . . . . FFMMMMLL::. . . . . . . . . .
. . . . . . . . . . MMMMMM::. . . LLMMMMMMMM. . . . . . . . MMMMMMMM. . . . . . . . . . .
. . . . . . . . . . MMMMMMLL. . . MMMMMMMMLL. . . ::::::. . ::MMMM::. . . . . . . . . . .
. . . . . . . . . . MMMMMM::. . MMMMMMMMMMMM. ::::::::. ::. . ::. . . . . . . . . . . . .
. . . . . . . . . . MMMMMM. . ::MMMMMMMMMMMM. . ::. ::. ::::. . . ::. . . . . . . . . . .
. . . . . . . ::. . MMMMMM. . MMMMMMMMMMMMMM. . . . . . . . . . . . . . . . . . . . . . .
::::::. . ::::::::. MMMMMM. LLMMMMMMMMMMMMFF. . . . . . . . . . . . . . . . . . . . . . .
. ::::. . . . . . . MMMMMMMMMMMMMMMMMMMMMM. . . . . . . . . . . . . . . . . . . . . . . .
. . ::::. . . . . ::MMMMMMMMMMMMMMMMMMMMMM. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . ::MMMMMMMMMMMMMMLLMMLLMM. ::. . . . . . . . . . . . . . . . . . . . . .
::. ::::::. ::. . ::MMMMMMMMMMMMMM::MMMM. . . . ::. . . . ::::::::::. . . . . . . . . . .
::::::::::::. . . . MMMMMMMMMMMM. MMMMLL. . . . . . ::. ::::::::. . . . . . . . . . . . .
::::::::::::::. . ::::MMMMMMLL. . MMMM. . . ::. ::::::. . . . . . . . . . . . . . . . . .
. ::::::::. ::. . ::. MMMMMM. . . MMMM. . . . . . . ::::::::. . . ::. . . . . . . . . . .
. . ::::::::. . ::LLMMMMMM::. . LLMMLL. . . . . . . . . . . ::. . . . . . . . . . . . . .
. . . ::. ::. ::. MMMMMMMM. . . MMMM::. . . . ::. ::. . ::::. . . . . . . . . . . . . . .
::. . . ::::::::MMMMMMMMMM. . LLMMMMLL. . . . . . . . . . . . . . . . ::. . . . . . . . .
. . ::::. ::. MMMMMMMMMMMM::FFMMMMMMFF. . . ::. . ::::::::. . . . . ::::. . . . . . . . .
::::::::::. LLMMMMMMMMMMLL. MMMMMMMMLL. . . . . . ::::::. . . . . . ::. . . . . . . . . .
::::. ::. LLMMMMMMMMMMMM. LLMMMMMMMM. . . . . . . . ::::::::. . . . . . . . . . . . . . .
::. . LLMMMMMMMMMMMMMMMMLLMMMMMMMMLL. . . . . . . . . . . ::::::. . . . . . . . . . . . .
. . . FFMMMMMMMMMMMMMMLLMMMMMM::LL. . . . . . . . . . . . ::::. . . . . . . . . . . . . .
::. LL. . . MMMMMM::LLFF. ::MM::. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. MMLL. ::. . MMMMMMLLFF::LLMM::LL. . . . . . . . . . . . . . . . . . . . . . . . . . . .
LLMMLL::LL::. ::MMMMMM::LL::MM::::::. . . . . . . . . . . . . . . . . . . . . . . . . . .
. MMMM::::LLLLLLMMMMLL::::LLEE::::. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . ::MMLL. . MMMMEE::::MM. . ::. . . ::. . . . . . ::. . . . ::. . . . . . . . . . . . .
. . ::LLMMFFMMMMMM. LL::. LL::::::::::::::::::. . . . ::. . ::::::. . . . . . . . . . . .
. . ::::::LLMMMMMM. ::LLLLMM. ::::::::::::::::::. ::::::::::::::::. . . . . . . . . . . .
. ::. . . . ::LL::. ::. ::::::::::::::::::::::::::::::::::::::::. ::. . . . . . . . . . .
Top
5 楼ypphqctwl(我想跟你说)回复于 2002-02-08 17:19:11 得分 0
我就是用
用定时刷新:
<meta http-equiv=refresh content='3;url=*.asp>
但是这样会有“唰唰”声!Top
6 楼ypphqctwl(我想跟你说)回复于 2002-02-08 17:25:08 得分 0
请各位高手知道红蜻蜓的聊天室是怎样刷新的吗?我看到红蜻蜓的聊天室并不会有“唰唰”的声,我看了一下红蜻蜓的源代码,但是我拿的源代码不是很好,写得太密,根本看不清楚写什么,所以请各位高手指点下我这位小弟呀!Top
7 楼ypphqctwl(我想跟你说)回复于 2002-02-08 17:46:31 得分 0
希偌大侠,能不能给你讲给我听那些的源代码呀,我不要太多的,只要其核心部分就行了,谢谢你了!我的e-mail:ypphqc@gwbnmail.netTop




