Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jetty 9、websocket和关闭服务器端的websocket连接_Java_Websocket_Jetty_Embedded Jetty - Fatal编程技术网

Java jetty 9、websocket和关闭服务器端的websocket连接

Java jetty 9、websocket和关闭服务器端的websocket连接,java,websocket,jetty,embedded-jetty,Java,Websocket,Jetty,Embedded Jetty,我有一个使用基于jetty 8的websocket服务器的应用程序。一切都很正常,当用户刷新页面、关闭页面或移动到另一个页面时,连接关闭,并且在服务器端触发onClose事件 我刚搬到jetty 9,在firefox中,一切都是一样的(刷新时连接关闭),但在chrome或opera上没有。我甚至关闭了浏览器,onClose事件没有被触发 我知道jetty 9只支持最新的websockets协议版本,我想知道,例如,当用户刷新页面时,浏览器是否正在向服务器发送一些消息,以及如何在jetty上处理这

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

我刚搬到jetty 9,在firefox中,一切都是一样的(刷新时连接关闭),但在chrome或opera上没有。我甚至关闭了浏览器,onClose事件没有被触发

我知道jetty 9只支持最新的websockets协议版本,我想知道,例如,当用户刷新页面时,浏览器是否正在向服务器发送一些消息,以及如何在jetty上处理这个问题,或者我必须使用javascript来处理这个问题,如本例所示:使用
window.onbeforeunload

如果我能处理服务器端的所有工作,我会优先考虑。谢谢

更新
如果我使用ws.close()关闭与客户端的连接,一切都会很好。

Jetty 9.0.0中存在一些关闭和断开连接检测错误

  • -未检测到会话的断开连接
  • -WebSocketCloseTest错误失败

这两个版本都是最近修复并交付的,请尝试一下该版本。

很有趣。您在服务器上收到“错误”事件了吗?在过去的24小时内,有一个错误记录在案@zhong.j.yu no.未触发任何错误。