如何维持服务器端与客户端的连接不中断?让服务器端的变化能立刻显示到客户端而不用刷新客户端页面

dxms8 2010-03-22 03:00:54
如何维持服务器端与客户端的连接不中断?
从而让服务器端的变化能立刻显示到客户端而不用刷新客户端页面。
...全文
233 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlx2370397 2010-06-06
  • 打赏
  • 举报
回复
用pushlet框架吧,很好用,列子也很简单
xinzhifan4 2010-03-22
  • 打赏
  • 举报
回复
主推技术,就是专门解决你这样的问题的
由服务器端主动定时向客户端相应
qingyuan18 2010-03-22
  • 打赏
  • 举报
回复
楼主要服务端主动把变化事件告诉客户端?

在HTTP协议下不可能,以为HTTP是基于request-response一问一答模式的,服务端没有义务记录客户端的位置,IP等,除非写cookie

一种变通的方式是楼上说的JMS,服务端有状态变化发消息到消息队列,客户端扫描消息队列发现有更新就处理,其实也是一种第三方数据接口的方式,你可以把消息队列看作数据库的一个表
wangxiaoyun987 2010-03-22
  • 打赏
  • 举报
回复
tomcat服务器端与客户端的连接不中断 conf/web.xml
<session-config>
<session-timeout>-1</session-timeout>
</session-config>

时时刷新用dwr
honesty_aijf_88 2010-03-22
  • 打赏
  • 举报
回复
两个关键字
1 Comet技术:利用Ajax与服务器建立http长连接查询是否有数据更新,服务器收到一个连接如果没有数据更新就阻塞这个连接不要返回给客户端,直到有新数据再返回给客户端。Web客户端,发起的连接一旦被返回,或者超时就再次建立http长连接。这样就能保证数据的即时更新
2Pushlet技术:Pushlet是一种comet实现:在Servlet机制下,数据从server端的Java对象直接推送(push)到(动态)HTML页面,而无需任何Java applet或者插件的帮助。它使server端可以周期性(当有消息的时候)地更新client的web页面。Pushlet采用Iframe和htmlfile流的方式维持长连接(采用stream方式,还有一种是push/pull方式,两者区别自己查资料)

这里有个网站可以看看http://aijianfeng-1234-126-com.javaeye.com/admin

结贴给分吧,呵呵
dxms8 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 apollo_ts 的回复:]
JMS
[/Quote]
不懂*2,是个框架??
dxms8 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ivorytower 的回复:]
你这不是在说web Service中的需求么?
[/Quote]
不懂...
dxms8 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wendaoshuangyue 的回复:]
在页面中用AJAX定时的向服务器发送请求(也就是死循环),服务器端接收请求,如果没有变化则不作任何响应,如果有变化则将变化的数据通过AJAX传递到页面,在页面用JS解析数据。
按照楼主的需求,页面中AJAX请求的调用比较频繁,这样会给服务器端造成一定的压力。。。
[/Quote]
这个等于是定时的请求+响应了吧。。。
我想要的效果最好是服务器端有变化就能主动发消息给客户端,也就是不要客户端主动去请求了,那这样的话服务器端和客户端的连接就不能中断。
不知道能不能做到这一点?
APOLLO_TS 2010-03-22
  • 打赏
  • 举报
回复
JMS
  • 打赏
  • 举报
回复
你这不是在说web Service中的需求么?
wendaoshuangyue 2010-03-22
  • 打赏
  • 举报
回复
在页面中用AJAX定时的向服务器发送请求(也就是死循环),服务器端接收请求,如果没有变化则不作任何响应,如果有变化则将变化的数据通过AJAX传递到页面,在页面用JS解析数据。
按照楼主的需求,页面中AJAX请求的调用比较频繁,这样会给服务器端造成一定的压力。。。
yagexury 2010-03-22
  • 打赏
  • 举报
回复
服务器 与客户端 是HTTP协议 维持通信的
HTTP协议 不能保持一次连接持续

不知道能不能用AJAX技术定时采取数据

新手回答 楼下拍砖

81,122

社区成员

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

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