Spring Stomp Websocket - 太大的SEND消息会产生1009错误并断开连接

时间:2017-07-31 11:38:00

标签: java spring websocket spring-websocket

我使用Spring Stomp Websocket框架。我已经将websocket配置为使用较大的(从服务器传出?)消息,如http://stackoverflow.com/questions/34343235/stomp-spring-web-socket-message-exceeds-size-limit中所述,但是当我使用大于64 Kb有效载荷的“SEND”命令(向服务器传入消息)时,我似乎仍然会收到错误

1009 Reason: Text message size [82998] exceeds maximum size [65536]  

现有配置如

@Configuration
public class WebSocketConfig extends WebSocketMessageBrokerConfigurationSupport {

    @Override
    public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
    registry.setMessageSizeLimit(MAX_TEXT_MESSAGE_SIZE);
    registry.setSendBufferSizeLimit(BUFFER_SIZE);
    super.configureWebSocketTransport(registry);
   }
}

我使用Spring Java Stomp Client发送有效负载。

对于websocket服务器或Java Spring Websocket客户端来说,似乎需要一个额外的配置来允许更大的消息“发送”。

我很感激帮助找出我缺少的配置。

1 个答案:

答案 0 :(得分:0)

您需要在客户端添加波纹管配置

    final WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
    webSocketContainer.setDefaultMaxBinaryMessageBufferSize(maxBinaryBufferSize);
    webSocketContainer.setDefaultMaxTextMessageBufferSize(maxTextBufferSize);