我遇到了这个问题并且在任何地方找到答案都有些困难所以我想我会在这里为未来的程序员输入它.
在Jetty 9中,如果您尝试在会话对象上设置最大消息大小以处理大数据包,则它将无法工作.如果您的客户端尝试发送大数据,您仍将断开连接.我在谈论这个对象的setMaximimumMessageSize:http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/Session.html
相反,您需要做的是在从WebSocketServletFactory获取的策略对象上设置最大消息大小.
public final class MyWebSocketServlet extends WebSocketServlet
{
private static final long MAX_MESSAGE_SIZE = 1000000;
@Override
public void configure(WebSocketServletFactory factory)
{
factory.getPolicy().setMaxMessageSize(MAX_MESSAGE_SIZE);
factory.setCreator(new MyWebSocketCreator());
}
}
Run Code Online (Sandbox Code Playgroud)
这将按预期工作,您的服务器将能够处理大到您设置的最大大小的邮件.