解决:SpringBoot中使用WebSocket传输数据,提示 1009|The decoded text message was too big for the output buffer and

    技术2023-11-10  78

    SpringBoot项目中使用webSocket传输数据的时候,提示数据过大,断开了。服务器这边也接收不到数据。

    报错如下:

    1009|The decoded text message was too big for the output buffer and the endpoint does not support partial messages|true

    翻译下就是:1009 |已解码的文本消息对于输出缓冲区而言太大,并且端点不支持部分消息| true

    也没放太多啊,就一个base64图片信息,还有一些其他信息。然后就断了,莫非这就是所谓的丑拒???我裂开了啊… 丑拒就丑拒吧,总有办法解决的不是…

    解决办法:

    通信文本消息和二进制缓存区设置大点。

    如下,定义ServletServerContainerFactoryBean,在里面设置就好。

    @Configuration public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } @Bean public ServletServerContainerFactoryBean createWebSocketContainer() { ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean(); // 在此处设置bufferSize container.setMaxTextMessageBufferSize(512000); container.setMaxBinaryMessageBufferSize(512000); container.setMaxSessionIdleTimeout(15 * 60000L); return container; } }
    Processed: 0.016, SQL: 10