心跳机制

Info

在 TCP 保持长连接的过程中,如果因为网络波动或者其他异常因素导致其中某一方掉线,Client 和 Server 之间在没有交互的情况下无法发现对方已经掉线了。心跳机制的引入就是为了解决这个问题。

心跳机制的工作原理

在 Client 和 Server 之间如果在一定时间内没有数据交互(idle 状态),Client 和 Server 就会发送一个特殊的数据包给对方, 当接收方收到这个数据报文后, 也立即发送一个特殊的数据报文, 回应发送方, 此即一个 PING-PONG 交互。所以, 当某一端收到心跳消息后, 就知道了对方仍然在线, 这就确保 TCP 连接的有效性.