Jetty WebSocket TimeOutException:空闲超时已过期?

Jetty WebSocket TimeOutException:空闲超时已过期?,websocket,timeout,jetty,Websocket,Timeout,Jetty,我在服务器端的Jetty Websocket(Jetty-all-9.4.5.v20170502 uber.jar)上获得一次超时: **java.util.concurrent.TimeoutException: Idle timeout expired: 300011/300000 ms** Socket Closed: CloseReason[1001,Idle Timeout] Socket Closed: CloseReason[1001,Idle Timeout] at or

我在服务器端的Jetty Websocket(Jetty-all-9.4.5.v20170502 uber.jar)上获得一次超时:

**java.util.concurrent.TimeoutException: Idle timeout expired: 300011/300000 ms**
Socket Closed: CloseReason[1001,Idle Timeout]
Socket Closed: CloseReason[1001,Idle Timeout]
    at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:166)
    at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)**
这是一个独特的事件在开始和其他一切工作完美

我试图改变这一点:

_context = new ServletContextHandler(ServletContextHandler.SESSIONS);
_context.setContextPath("/");
System.out.println(_context.getStopTimeout());
_context.setStopTimeout(0);
_server.setHandler(_context);
~z~没有成功

不知道

警告:

WebSocket中的空闲超时由控制

空闲超时可以在WebSocket容器(例如:WebSocketClient或WebSocketServletFactory)上指定,甚至可以在单独连接的WebSocket会话上指定


您的代码示例没有显示与WebSocket有关的任何内容,因此我无法向您提供配置WebSocket行为所需的具体信息。

此答案可能会有所帮助,谢谢!在
WebSocketListener.onWebSocketConnect()
中,我只需设置空闲超时,例如
session.setIdleTimeout(1000)
。不过,默认超时5分钟(300000毫秒)似乎是合理的。相反,我会将websocket客户端配置为每1分钟执行一次ping。