TCP心跳包

概述

心跳包就是在 客户端 和 服务器 间 定时 通知对方自己状态的数据包,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包

TCP的KeepAlive保活机制

在TCP/IP的机制里面,本身是存在有心跳包的机制的,也就是TCP的选项:SO_KEEPALIVE。系统默认是设置的 7200秒 的心跳频率。、

缺点:
检查不到机器断电、网线拔出、防火墙(有的防火墙会断开 长时间无数据传输的连接),而且间隔时间太长:7200秒,2小时

总之这种方法不可靠

应用层自己实现的心跳包

由 应用程序发送心跳包 来 检测连接 是否正常,大致的方法是:服务器定时向客户端发送一个短小数据包,然后启动一个线程,在该线程中不断检测客户端的回应, 如果在一定时间内 没有收到客户端的回应,即认为 客户端掉线;同样,如果客户端在一定时间内 没有收到服务器的心跳包,则认为 连接不可用。


原文出处:/show_1EF30ObbmjMN.html