我遇到了這個問題,並且在這個任何地方找到答案都有些困難,所以我想我會在這裏爲未來的程序員輸入它。Jetty 9 WebSocket服務器會話上的最大郵件大小
在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());
}
}
這將按預期工作,您的服務器將能夠處理大型郵件,達到您設置的最大尺寸。