陈不绿
2012-03-27 11:55
浏览 378
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Aronlulu 2012-03-28 14:25
    已采纳

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

    点赞 评论
  • Aronlulu 2012-03-27 11:58

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

    点赞 评论
  • Aronlulu 2012-03-27 18:36

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

    点赞 评论
  • Aronlulu 2012-03-28 09:42

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

    点赞 评论

相关推荐 更多相似问题