背景
前面我们说过,心跳策略是客户端来发送心跳,服务端响应心跳,客户端发现服务端未及时响应心跳时,认为通道异常,进行重连。
客户端每隔固定时间频率向服务器端发送心跳,WebSocket协议约定的PingWebSocketFrame,服务端收到后马上会回复PongWebSocketFrame,如通道失效或服务端无响应情况下,就会触发客户端读空闲。
心跳机制是保障长连接有效性的重要手段,我们原先的设计,是在客户端实现一个自定义的处理器。
/**
* 心跳超时处理器
* @author wqliu
* @date 2021-10-2
**/
@Slf4j
public class HeartbeatTimeoutHandler extends ChannelInboundHandlerAdapter {