我有一个应用程序,它使用基于jetty 8的websocket服务器。一切都很顺利,当用户刷新页面、关闭页面或移动到另一页时,连接会关闭,并在服务器端触发onClose事件。
我刚刚升级到jetty 9,在Firefox中一切正常(刷新时连接被关闭),但在Chrome和Opera中不是。我甚至关闭了浏览器,但没有触发onClose事件。
我知道jetty 9只支持最新的WebSockets协议版本,我想知道当用户刷新页面时是否有浏览器向服务器发送某些消息,以及如何在jetty上处理这个问题,或者像这个例子一样在javascript中处理:Closing WebSocket correctly (HTML5, Javascript),使用
如果可能,我更希望将所有工作都处理在服务器端。谢谢!
更新: 如果我从客户端使用ws.close()关闭连接,一切顺利。
我刚刚升级到jetty 9,在Firefox中一切正常(刷新时连接被关闭),但在Chrome和Opera中不是。我甚至关闭了浏览器,但没有触发onClose事件。
我知道jetty 9只支持最新的WebSockets协议版本,我想知道当用户刷新页面时是否有浏览器向服务器发送某些消息,以及如何在jetty上处理这个问题,或者像这个例子一样在javascript中处理:Closing WebSocket correctly (HTML5, Javascript),使用
window.onbeforeunload
?如果可能,我更希望将所有工作都处理在服务器端。谢谢!
更新: 如果我从客户端使用ws.close()关闭连接,一切顺利。