Java websocket服务器可以忽略大型消息而不是关闭连接吗?

时间:2017-01-25 19:40:01

标签: tomcat8 java-websocket

规格:

  • Java 1.8
  • Tomcat 8.0.39
  • WebSocket API 1.1

有时我的一个客户端会发送一个大的有效负载(大于默认的8192字节缓冲区大小),当发生这种情况时,服务器会使用1009 (Too Large)的CloseReason来终止连接。我宁愿配置服务器忽略偶尔的大消息,而不是取消连接。这可能吗?

1 个答案:

答案 0 :(得分:0)

查看Tomcat 8的文档,这个文档用于二进制消息:

  

二进制消息的默认缓冲区大小为8192字节。通过将servlet上下文初始化参数org.apache.tomcat.websocket.binaryBufferSize设置为所需的值(以字节为单位),可以为Web应用程序更改此值。

对于短信也是如此:

  

文本消息的默认缓冲区大小为8192字节。通过将servlet上下文初始化参数org.apache.tomcat.websocket.textBufferSize设置为所需的值(以字节为单位),可以为Web应用程序更改此值。

在此处找到:The code

如果您使用setDefaultMaxBinaryMessageBufferSize,还有以下方法:setDefaultMaxTextMessageBufferSizeOR

在此处找到:https://tomcat.apache.org/tomcat-8.0-doc/web-socket-howto.html