求一个最简单的jsp网页聊天室源码
发布网友
发布时间:2022-12-10 03:02
我来回答
共3个回答
热心网友
时间:2024-03-02 05:31
才200条记录
最快的方式记录用cycle queue保存到为Application域对象
两个application域的int来记录cycle queue的头和最新的尾
页面的session里面保存当前显示的位置
然后每次取的时候使用ajax直接取当前显示位置到queue tail的记录即可
最快方式.无处其右
---------------------------------------------------------
本团队不提供现成代码 免开尊口追问大师啊 听你这个感觉好朦胧啊~ 你说的 cycle queue可以用 LinkedList吧 ,我之前用的就是LinkedList,
之前我的做法是 用js做了个每1秒执行一次ajax 来拿数据,但这样会每次从集合里拿出200条 并且是每个用户每秒~ 这样的确做到不刷新页面,但不用想也知道这样不合理 对服务器压力太大,
我想不出一个可以做到只有有人发消息 才执行一次ajax的方法, 再有就是取数据,怎样可以做到每个人都只拿到最新的数据,而不用一次拿200条
追答你没有认真看我的回答
“
两个application域的int来记录cycle queue的头和最新的尾
页面的session里面保存当前显示的位置
然后每次取的时候使用ajax直接取当前显示位置到queue tail的记录即可”
再加上cycle queue就解决了取得最新数据的问题
理论上说 不存在有人发消息才执行ajax 这一点是http协议决定的 除非你使用http长连接
但是那样更消耗系统资源
现在给你说的方案是使用ajax每次请求数据中看有无新消息 没有什么都不返回 有的话 返回最新消息
热心网友
时间:2024-03-02 05:32
你可以去下载马士兵的在线聊天系统 来看.
热心网友
时间:2024-03-02 05:32
20元一次