ProtocolException在jetty websocket中意味着什么?

时间:2016-12-29 03:21:11

标签: websocket jetty

当我尝试使用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关闭的任何想法?

1 个答案:

答案 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帧)的整体收集邮件大小