我在通过WebSocket( Tomcat8 JSR-356 )发送数据时遇到java.util.concurrent.TimeoutException
。请参考下面给出的跟踪
java.io.IOException: java.util.concurrent.TimeoutException
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:258)
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:193)
at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)
除了与网络延迟相关的问题外,我想知道在任何情况下我们都会遇到此异常
注意:我随机面对此异常。 Tomcat版本 8.0.20
答案 0 :(得分:0)
我遇到了同样的问题,这是由于以块形式发送数据(分块传输编码或分块流)
在我的情况下是HTTP Post,此修复程序在标头中发送内容长度。
但是可能是这样的情况,接收器没有准备好大块读取数据,因此超时等待数据的EOF。