1
我有一个简单的嵌入式Jetty 9 websocket服务器。我有我的注释的WebSocket实现这样的方法:OnWebSocketClose在Jetty 9中何时触发
@OnWebSocketClose
void onClose(int statusCode, String reason) {
logger.info "Closed connection [${this}]"
connectionManager.remove(this)
Event closeEvent = commsEventFactory.buildCloseEvent(this, statusCode, reason)
eventReceiver.postEvent(closeEvent)
}
我有一个连接到使用异步HTTP客户端与服务器的斯波克测试。我获得了成功的连接并可以来回发送消息。 (当我调用async-http-client的websocket.close()或client.close()或甚至当测试JVM死亡时),onClose()永远不会被调用。
我希望onClose能够在套接字远端消失时立即触发。
谢谢Joakim!这绝对是我对onClose何时应该开火的理解。但令人遗憾的是,并非我所看到的。我无意中想知道这是我的造币机器上的本地网络中的东西,但我没有追求这一点。我已经转向使用气氛,这似乎工作正常。 – Theo 2013-05-09 02:50:01
你是对的。有几个密切的错误。 [406449](https://bugs.eclipse.org/bugs/show_bug.cgi?id=406449)和[404991](https://bugs.eclipse.org/bugs/show_bug.cgi?id=404911)最近[修复并在Jetty 9.0.3.v20130506中发布](http://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00049.html)请尝试使用该版本。 – 2013-05-09 12:45:09
如何重新连接OnClose方法? – Alireza 2017-05-17 05:21:38