我有一个Spring Boot项目,其中实现了Web套接字。我没有使用STOMP,而是实现了一个 TextWebSocketHandler
来处理所有消息。
为了处理网络故障时的会话断开连接,我按照此线程handling-connection-loss-with-websockets
的建议使用了以下乒乓方案PingMessage
发送给每个 WebSocketSession
。我为每个会话保留一个标志,用于指示是否已收到乒乓球。 close()
方法关闭会话> WebSocketSession
类现在的问题是,当我尝试关闭一个会话时,其他会话也会被关闭。我在 afterConnectionClosed()
回调中添加了一些日志,并且可以看到,除我称为 close()
方法。
我不确定为什么会这样。
此外,还有其他方法可以用来处理Web套接字中的连接丢失
以下是与版本有关的一些信息