背景: 在传输过程中可能会遇到很多异常情况,在一些异常情况下,TCP对连接会呦特殊的处理
- 1.进程崩溃 【在这种情况下,TCP链接会正常四次挥手的过程,只要进程退出,就会自动关闭相应的文件】
- 2.主机关机 【关机的时候就强制杀进程,就进行四次挥手了】
- 3.主机断电/网线断了 【1) 如果接收方断电,对端尝试发送消息时,就会没有ACK回应,然后会进行超时重传,重传到一定的次数,重置连接,最后放弃连接】 【2)如果时发送方断电,对端尝试接收信息,但是他也不知道什么时候会发送过来,难道就要一直这么等吗?显然不可能,于是就有了我们的保活机制】
保活机制: 保活机制中有一个重要的东西就是“心跳包”,TCP的通信双方,即使没有数据传输,也会持续相互传输没有意义的心跳包,就是为了证明两台主机都还能够保持通信,但是隔一段时间要是没有收到心跳包,那就证明对方端挂了。