问题
使用websocket,通过spring cloud gateway转发传送数据大于64kb时会丢失数据,查看源码发现netty中默认websocket限制大小是64k。
原因(有兴趣的可以查看下源码):
ReactorNettyWebSocketClient 这个类下面的 maxFramePayloadLength。
解决方法
在 gateway 项目的配置文件中加入下面这句话并设置大小。
spring:
cloud:
gateway:
httpclient:
websocket:
max-frame-payload-length: 10485760 # 需要设置的大小