文章目录
心跳机制
应用场景
在长连接下,有可能很长一段时间没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。更要命的是,有的节点(防火墙)会自动把一定时间之内没有数据交互 的连接给断掉。在这个时候,就需要我们的心跳包了,用于维持长连接,保活。
什么是心跳机制
就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一固定信息。如果服务端几分钟内没有收到客户端信息则视客户端断开。
心跳包的发送,通常有两种技术
- 应用层自己实现的心跳包
- 使用SO_KEEPALIVE套接字选项