spring cloud gateway 修改websocket的Max Frame length传输大小

spring cloud版本:Hoxton.SR1

 

spring cloud gateway 使用默认的 netty

问题:

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

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

ReactorNettyWebSocketClient 这个类下面的 maxFramePayloadLength。

解决方法:

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

  1. spring:
  2. cloud:
  3. gateway:
  4. httpclient:
  5. websocket:
  6. max-frame-payload-length: 10485760 # 需要设置的大小

官方文档地址:https://docs.spring.io/spring-cloud-gateway/docs/2.2.7.RELEASE/reference/html/appendix.html

 

            </div><div><div></div></div>
    </div>

</article>
posted @ 2022-05-11 14:26  小陈子博客  阅读(1390)  评论(0)    收藏  举报