Websocket在一段时间后(20-30分钟)停止接收数据

时间:2016-02-11 13:32:02

标签: java websocket


         我在java中有websocket,它每秒向javascript websocket客户端发送几条消息(5-10),然后使用angular ui-grid显示。

问题是20-30分钟后,浏览器(IE,Firefox,Chrome)停止接收消息。

  • 可能是什么问题?
  • javax.websocket.Session的默认会话超时值是什么?
  • 我应该检查哪些设置/值,例如getMaxTextMessageBufferSize()等。

2 个答案:

答案 0 :(得分:0)

检查getMaxIdleTimeout()/ setMaxIdleTimeout()是否是您正在寻找的。

来自setMaxIdleTimeout()的javax.websocket.Session文档:

  

设置容器关闭此会话之前的非零毫秒数(如果它处于非活动状态,即未发送或接收任何消息)。值为0或负数表示会话永远不会因为不活动而超时。

答案 1 :(得分:0)

问题在于通信链路(有线连接)。我通过在websocket.onclose(客户端javascript代码)上重新连接到websocket来解决了这个问题。关闭websocket会话时调用onclose。我通过调用onclose中的connect()函数重新连接。

这个答案也有很大帮助。 AngularJS: Reconnect WebSocket inside a service