通过WebSocket发送数据时出现TimeoutException

时间:2017-11-30 08:29:04

标签: java websocket tomcat8 java-websocket jsr356

我在通过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

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,这是由于以块形式发送数据(分块传输编码分块流

在我的情况下是HTTP Post,此修复程序在标头中发送内容长度。

但是可能是这样的情况,接收器没有准备好大块读取数据,因此超时等待数据的EOF。