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