⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0126.htm

📁 ASP教程宝典 书籍语言: 简体中文 书籍类型: 网络编程 授权方式: 免费软件 书籍大小: 500 KB
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>数据库聊天室的“无刷新”技术要点</strong></big></p>

<div align="right">---摘自《CHINAASP》(文/IP浪子)</div>

聊天室是网络实时交互的最常应用之一。聊天室的制作要解决好以下问题。<br>
1、谁在发言 2、讲给谁听 3、讲些什么&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
与ICQ不同,ICQ 的数据流是一对一的关系。只要解决好上面三个问题就<br>
可以实现。<br>
聊天室由于存在一对多、多对一、一对一等多种数据关系,因此就有一个<br>
数据的存放问题。<br>
ASP 聊天室的数据存放一般有三种形式: 一是用全局变量Application 和<br>
Session对象。这种形式速度快效果好,但系统资源消耗太大。二是应用读<br>
写数据库实现。这种方法简明但服务器频繁读写数据据库很累。第三种可用<br>
读写TXT文件完成。适合简单的聊天室。<br>
三种方法都有一个共性的特点:客户端要获取新的聊天数据,必需刷新<br>
调用。刷新时间过短,屏幕晃动厉害,刷新时间过长,等待时间太多感速度<br>
太慢。于是人们分别用触发刷新与自动刷新结合从感觉上得到改善。二是利<br>
用隐藏帧进行刷新再把内容加在显示帧上,形成所谓“无刷新”聊天室,解<br>
决了屏幕晃动问题。<br>
“无刷新”聊天室要解决的技术问题有:<br>
一、如何判断新数据<br>
二、新数据的提取<br>
三、如何让客户断在有新数据时能及时更新<br>
以上一、二用Application很容易实现,但第三个问题不容易解决。用数据<br>
库做聊天室,第三个问题相对容易,但第一、二个问题要费点精神。笔者用<br>
数据库做的聊天室采用了“无刷新”技术,没有用一个Application,主要<br>
的技术要点是:<br>
在数据库中另设置只有一个字段的表,字段名:BS<br>
用户每次登陆读一次BS 的值。 设一个Session别作为每一个具体用户的<br>
当前发言次数,初始为 BS-1。 <br>
用户每发言一次使 BS + 1(Session 值不此时不加,形成Session与BS差)<br>
在隐性刷新帧上判断:<br>
如果 BS 与 Session 有差,则读数据库将新数据读出并在显示帧显示。<br>
Session+1 表示新数据已经读出,不再重读。<br>
反复此过程,直到所有新数据据读出并显示。此时 BS = Session<br>
上述方法解决了上面讲的 判断新数据和新数据的提取的问题。由于新数据<br>
本身没有任何变化,依然原样存放在数据库中,客户端无论时间差多大,只<br>
要自身的Session与BS有差,一当读库,差多少多多少条记录,解决了客户端<br>
刷新差异带来的不显示问题。<br>
以上方法,当然也可以用Application来设置 BS。还有一但BS 到了一定值<br>
时(看同时发言人数而定),要重置为 1 。<br>
以上方法在 IIS 4 平台,局域网、因特网通过。<br>
<br>


  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -