2017-01-25 8 views
0

характеристики:Может ли сервер веб-сервера Java игнорировать большие сообщения, а не закрывать соединение?

  • Java 1,8
  • Tomcat 8.0.39
  • WebSocket API 1,1

Иногда один из моих клиентов будет посылать большую полезную нагрузку (больше, чем по умолчанию 8192 размер в байт буфера), и когда это произойдет, сервер убивает соединение с CloseReason от 1009 (Too Large). Я предпочел бы настроить сервер, чтобы игнорировать случайное большое сообщение, а не подключать соединение. Это возможно?

ответ

0

Посмотри на документации для Tomcat 8, это один для двоичных сообщений:

Размера буфера по умолчанию для двоичных сообщений составляют 8192 байт. Это можно изменить для веб-приложения, установив параметр инициализации контекста сервлета org.apache.tomcat.websocket.binaryBufferSize в нужное значение в байтах.

Это также же для текстовых сообщений:

Размера буфера по умолчанию для текстовых сообщений составляет 8192 байт. Это можно изменить для веб-приложения, установив параметр инициализации контекста сервлета org.apache.tomcat.websocket.textBufferSize в нужное значение в байтах.

Найдено здесь: https://tomcat.apache.org/tomcat-8.0-doc/web-socket-howto.html

Если вы используете WebSocketContainer есть также следующие методы: setDefaultMaxBinaryMessageBufferSize и setDefaultMaxTextMessageBufferSize.

Найдено: https://tomcat.apache.org/tomcat-8.0-doc/websocketapi/javax/websocket/WebSocketContainer.html