问题是
不通过gateway直接链接websocket如
ws://127.0.0.1:8989/ws
发送任何消息都已经正常。
但通过gateway路由
ws://127.0.0.1:8002/websocket/ws
文本消息和小文件都很正常,但是大文件有问题。
二进制指令
BinaryWebSocketFrame
变为关闭链接的指令
CloseWebSocketFrame
导致链接直接关闭问题。
原因是因为gateway网关也是使用netty的,所以websocket也是netty的,当websocket请求到网关的时候,有大小的限制。过大的话就不传输了CloseWebSocketFrame
,这个时候就需要修改默认的大小,改了大小一切正常了。如下图