wangwang
wangwang
文章52
标签50
分类6
WebSocket消息太大导致无法发送

WebSocket消息太大导致无法发送

问题

使用websocket,通过spring cloud gateway转发传送数据大于64kb时会丢失数据,查看源码发现netty中默认websocket限制大小是64k。

原因(有兴趣的可以查看下源码):

ReactorNettyWebSocketClient 这个类下面的 maxFramePayloadLength。

解决方法

在 gateway 项目的配置文件中加入下面这句话并设置大小。

spring:
  cloud:
    gateway:
      httpclient:
        websocket:
          max-frame-payload-length: 10485760  # 需要设置的大小
本文作者:wangwang
本文链接:https://www.wangwangit.com/WebSocket%E6%B6%88%E6%81%AF%E5%A4%AA%E5%A4%A7%E6%97%A0%E6%B3%95%E5%8F%91%E9%80%81/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可