关于dwr消息推送长连接问题

如何维护dwr的长连接,如果重启tomcat不想刷新页面,如何建立与dwr的长连接呢?

4个回答

[quote]怎么检查dwr的长连接是否断开啊? [/quote]
直接默认一段时间没响应就算断开啊。

客户端js定时轮询调用即可。

dwr的comet长连接有三种方式,不知道你用的是哪种,如果用的是轮询方式,那就js轮询。
如果是服务端推消息的方式,按照我的理解:
重启tomcat后,所有连接都丢失了,获取不到连接信息,服务器就无能为力了,只能客户端操作某个按钮重新触发。因为服务端是不可能反向去连客户端建立连接的,除非客户端建立个监听端口。
你可以js轮询服务器,当发现服务器没连接即重启的时候,页面给个模态框提示,当用户点击这个模态框的时候,触发js去重新建立连接。

[quote]
我现在 准备用js轮询服务器,但是在tomcat关闭的时候没有想到判断当前连接已经断开的方式,js轮询服务器采用的是ajax的方式,server端不能回应(tomcat关闭时),导致ajax请求有去无返,也就无法取得连接状态。
[/quote]
ajax不是有timeout的设置么,超时了调回调函数就可以了啊,在回调函数里面继续,直到有响应为止。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!