我有一个简单的嵌入式Jetty 9 websocket服务器。我在带注释的websocket实现中有这样的方法:
@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)
}
我有一个使用async-http-client连接到服务器的spock测试。我获得了成功的连接,可以来回发送消息。
但是,从不调用onClose()(当我调用async-http-client的websocket.close()或client.close()时,或者甚至在测试JVM死亡时)。
我预计当套接字的远端消失时,onClose会立即触发。
答案 0 :(得分:0)
onClose()将触发以指示本地侧websocket已将状态更改为已关闭。
它可能来自: