当我尝试使用jetty websocket客户端发送大文本(大约40M)时,我得到了这个ProtocolException:
org.eclipse.jetty.websocket.api.ProtocolException:控制帧有效负载长度无效,[142]不能超过[125] 在org.eclipse.jetty.websocket.common.Parser.assertSanePayloadLength(Parser.java:122) 在org.eclipse.jetty.websocket.common.Parser.parseFrame(Parser.java:482) 在org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:254) at org.eclipse.jetty.websocket.common.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) 在java.lang.Thread.run(Thread.java:745)
我修改了maxTextMessageSize以使其发送大文本。关于ws关闭的任何想法?
答案 0 :(得分:2)
org.eclipse.jetty.websocket.api.ProtocolException:控制帧有效负载长度无效,[142]不能超过[125]
这表示websocket实现收到了一个具有142字节有效载荷的WebSocket控制框架(CLOSE,PING,PONG),这违反了WebSocket规范(参见RFC6455 Section 5.5),它将控制框架限制为仅125字节的有效载荷。
maxTextMessageSize仅适用于数据框(TEXT,以及0个或更多CONTINUATION帧)的整体收集邮件大小