我利用Jetty(9.4.1)websocket进行客户端和服务器之间的两种通信方式。
- 在客户端,收听WebSocket的消息'onerror'和'onclose',这样当出现问题时,客户端将生成一个 新的联系。
- 在服务器端,还会处理“OnError”和“OnClose”消息。
然后,有时我看到服务器得到了一个'org.eclipse.jetty.io.EofException','OnError'和ServerEndpoint的'OnClose'被调用。但在客户端,没有发送“onerror”或“onclose”消息 因此,在这种情况下,客户端不知道websocket连接已经关闭,仍然使用该连接。
我的问题是:
1.这种EofException怎么会发生?
2.发生此错误时,连接是否实际关闭或仍然打开?因为我无法以编程方式复制此错误,所以我无法进行调查以便清楚地理解
3.如何让客户端知道此异常,以便客户端可以重新连接并正常运行?