Java stomp 客户端在 Internet 连接丢失时不响应。有没有办法在 Internet 连接丢失或套接字断开时在 handleTransportError 方法中获得异常?
public class SocketHandler extends StompSessionHandlerAdapter{
@Override
public void handleTransportError(){
//Expected error here
}
@Override
public void handleException(){
}
@Override
public void afterConnected(){
}
答案 0 :(得分:0)
是的,这些方法允许您访问 Session 和 Exception 对象,但您有错误的方法签名。
答案 1 :(得分:0)
TCP 协议可能会很慢才能注意到连接丢失。这就是 STOMP 1.1 协议引入心跳功能的原因。可以选择使用心跳来测试底层 TCP 连接的健康状况,并确保远程端处于活动状态并正常运行。
根据初始连接时与心跳协商的内容,客户端或服务器可能需要定期发送“心跳”消息。如果您的客户端在规定的时间段内没有收到来自服务器的心跳,则认为连接已丢失。