服务器端的jetty 9,websockets和关闭websocket连接

时间:2013-04-26 02:13:32

标签: java websocket jetty embedded-jetty

我有一个使用基于jetty 8的websocket服务器的应用程序。一切都运行良好,当用户刷新页面,关闭页面或移动到另一个页面时,连接关闭,在服务器端,onClose事件被触发。

我刚刚搬到了码头9,在firefox中一切都运行相同(刷新连接时关闭)但不是在chrome或opera上。我甚至关闭浏览器并且没有触发onClose事件。

我知道jetty 9只支持最新的websockets协议版本,我想知道当用户刷新页面时浏览器是否向服务器发送一些消息,以及如何在jetty上处理这个消息或者我是否需要在javascript中处理此问题,例如:Closing WebSocket correctly (HTML5, Javascript)使用window.onbeforeunload

如果我能处理服务器端的所有工作,我会感到很困惑。感谢

更新 如果我使用ws.close()从客户端关闭连接,一切都很有效。

1 个答案:

答案 0 :(得分:2)

Jetty 9.0.0中有一些关闭和断开检测错误

  • 406449 - 未检测到会话断开连接
  • 404991 - WebSocketCloseTest虚假失败

最近修复了这些内容并在Jetty 9.0.3.v20130506中发布,请试试该版本。