在 Internet 连接丢失 stomp 客户端时检测 websocket 连接中断 java

Detect websocket connection break on internet connection loss stomp client java

Java stomp 客户端在互联网连接丢失时不响应。有没有什么办法可以在 handleTransportError 方法中获取 internet 连接丢失或套接字断开时的异常?

public class SocketHandler extends StompSessionHandlerAdapter{

@Override
public void handleTransportError(){
 //Expected error here
}

@Override
public void handleException(){

}

@Override
public void afterConnected(){

}

是的,这些方法允许您访问 Session 和 Exception 对象,但您的方法签名有误。

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/messaging/simp/stomp/StompSessionHandlerAdapter.html

TCP 协议可能会很慢地注意到连接丢失。这就是 STOMP 1.1 协议引入心跳功能的原因。可以选择使用心跳来测试底层 TCP 连接的健康状况,并确保远程端处于活动状态。

根据在初始连接时与心跳协商的内容,客户端或服务器可能需要发送周期性“心跳”消息。如果您的客户端在规定的时间段内没有收到来自服务器的心跳,则它假定连接丢失。