文件名称:基于 Ajax 的聊天室
文件大小:6KB
文件格式:RAR
更新时间:2011-05-09 07:42:15
Ajax 聊天室
最近利用闲暇时间,作了个简单的聊天室,该聊天室使用 prototype.js (v1.4) 类库,主要应用Ajax技术、Application变量,做到小型架构,页面无刷新,[b]无数据库[/b],能查看在线用户等特点。
刚开始打算用access小型数据库,但考虑到多人在线时,这种轻量级的数据库承受能力将不能胜任存储任务,MSsql又不熟悉,我的空间也不支持,所以只往小型方向开发。所有聊天数据都存入服务器变量中,客户端与服务器的交互采用json的数据结构,效率还是相当高的。
写js也有一段时间了,发现再用vbscript写asp,有点不适应vb的语法,因此服务端application的全部使用Jscript操作。(js真tmd的*!*到连个像样子的IDE都没有-_-)。
当前已知的bug:
如果用户在任务管理器里终止ie进程,那么在线用户列表里将不能删除该用户名。(因为body元素的onunload没法运行-_-)
可以改进的地方:
1、客户端每隔n毫秒取一次数据,但当前返回的数据是整个application变量,比较长,可以只取最新的消息。这样可以改进数据交换的效率。
2、因为application不能太大,否则服务器必定挂掉,所以只好设置长度限制,超过n条记录后自动删除之前的消息,自动维护application的长度,听起来似乎是个好消息,但客户端也只能保存n条记录-_-,完全可以把所有记录在客户端缓存嘛。
【文件预览】:
test.asp
app2.html
charlistjs.asp
sendmsgjs.asp
clear.asp
myjsframe.js
style.css
chat.js