当我尝试使用jetty websocket客户端发送大文本(大约40M)时,出现了以下ProtocolException:
org.eclipse.jetty.websocket.api.ProtocolException:无效的控制帧有效负载长度,在组织org.eclipse.jetty.websocket.common.Parser.assertSanePayloadLength(Parser.java:122)处,[142]不能超过[125]。位于org.eclipse.jetty.websocket.common的eclipse.jetty.websocket.common.Parser.parseFrame(Parser.java:482)位于org.eclipse.jetty.websocket.common的Parser.parse(Parser.java:254)。 org.eclipse.jetty.io.AbstractConnection的io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:628)在org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:476)在org.eclipse.jetty.io.AbstractConnection $ 2.run(AbstractConnection .java:540),位于org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635),位于org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:555) .lang.Thread.run(Thread.java:745)
我修改了maxTextMessageSize使其发送大文本。为什么关闭ws有任何想法吗?
org.eclipse.jetty.websocket.api.ProtocolException:无效的控制帧有效载荷长度,[142]不能超过[125]
也就是说,websocket实现收到的WebSocket控制帧(CLOSE,PING,PONG)具有142字节的有效负载,这违反了WebSocket规范(请参阅RFC6455第5.5节),该规范将控制帧限制为仅125字节的有效负载。
maxTextMessageSize仅适用于从数据帧(TEXT,以及0个或多个CONTINUATION帧)中收集的总体消息大小
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句