如何实现B/S聊天室中向服务器发送聊天信息?

lpluck08 2009-04-25 07:10:59
用Servlet写的,如何实现B/S聊天室中浏览器向服务器发送聊天信息,而且浏览器不刷新页面?初学!!

正确再加30分~~
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
henry_fuzr 2009-12-17
  • 打赏
  • 举报
回复
6楼正解
tantaiyizu 2009-04-26
  • 打赏
  • 举报
回复
支持。。
summerfeel 2009-04-26
  • 打赏
  • 举报
回复
使用js函数轮询的方式来从服务器端刷数据是个正确的方法,但却不可行。轮询需要设置一个时间,对于像聊天室这样对消息的实时性要求较高的应用,设置的间隔时间不可能太大,当用户数上升的一定程度的时候,所有的客户端都在疯狂的刷数据,服务器很容易就down掉了。而且即使没有数据,浏览器还是会傻傻地每隔一段时间去向服务器请求数据,这种方式很不合理。
简单的来说,需要一种服务器推送数据的技术,存在有新消息的情况下将数据推向每个连接的客户端。而浏览器不具备这样的条件,因为HTTP是个无状态协议,它不会让客户端一直与服务器保持连接。所以聊天室更适合被开发成C/S架构的软件,如果非要在B/S上实现,那可能需要借助于在浏览器端安装一些插件,比如基于Java的applet,基于actionscript的flex等,原理上还是必须建立socket连接。
lihan6415151528 2009-04-25
  • 打赏
  • 举报
回复
bs模式就是ajax了 java的话,用dwr吧
etz2008 2009-04-25
  • 打赏
  • 举报
回复

学习
www.xizi123.cn
archko 2009-04-25
  • 打赏
  • 举报
回复
js event事件触发 f-->ajax-->xmlhttprequest-->
post,get 发送的方式-->servlet SERVLET的URL-->servlet dopost,doget, SERVLET处理请求
-->response 返回一个数据,XML,JSON,HTML,。。。。
-->callback 回调函数
--> alert(responseText) 简单的弹出返回的数据
setInterval(f,1000); 重复执行 上面的 事件
lpluck08 2009-04-25
  • 打赏
  • 举报
回复
注意~~是B/S模式,不是C/S模式~~

用浏览器访问~~
lihan6415151528 2009-04-25
  • 打赏
  • 举报
回复
简单的p2p就是socket了

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧