【问题标题】:Websockets Disconnected when intermittant network drop or Network swtichedWebsockets 在间歇性网络中断或网络切换时断开连接
【发布时间】:2014-10-29 04:16:23
【问题描述】:

我们在 web 应用程序中使用 tomcat websocket 实现。消息通过 websockets 从服务器推送到客户端。当间歇性连接断开或网络切换但仍连接 Web 应用程序时,不会推送 Web 套接字消息。

假设我已连接到 LAN 并登录应用程序,现在我在 wifi 成功连接后通过 wifi 连接我正在断开 LAN 与第二个网络的一小部分从 LAN 切换到 wifi 但是在此消息没有推送之后服务器通过 websockets 到客户端。

在网络切换后,如果我检查 websocket(readyState) 的状态,它显示为 1,这意味着 websocket 连接已打开,但实际上并没有。

谁能早点遇到这个问题并提供您的建议。

谢谢

【问题讨论】:

    标签: websocket


    【解决方案1】:

    您必须创建连接断开检测机制。 WebSocket 协议具有 ping/pong 帧,但我不知道 Tomcat 是否具有该功能。在某些 Webscoket 框架中,您可以定义超时间隔,如果客户端错过某些 pong 断开连接,服务器会定期 ping 客户端。

    如果 Tomcat 不提供该功能,您仍然可以创建自己的功能。只需定义一种特殊类型的消息并将其从客户端重复到服务器。如果您有一段时间没有收到任何这些消息,请断开连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      相关资源
      最近更新 更多