采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
客户端 和 服务器端 经过3次握手建立TCP连接后,如果客户端 拔掉网线,这种情况下 服务器端是怎么得知要释放与客户端之间的TCP连接的?
这就涉及到课程介绍到的“保活计时器”了。
保活计时器是TCP协议里面的第四个计时器,这个计时器也是课程内容中没有介绍的,因此需要注意这个定时器。
保活计时器,顾名思义,保活是这个计时器的主要目的,他是为了保活TCP连接而设计的,保活定时器可以防止TCP连接的两端出现长时期的空闲,当一方出现状态变化或故障时,另一方没有察觉的情况。
设想连接双方在建立连接后,只传输了一些数据,然后就都保持静默了,双方也都没有关闭连接(这种情况经常存在),如果这个时候其中一方已经故障,那么这个连接将会永远被打开,如果被连接的一方是服务端的话,那将浪费很多服务端的资源。
因此为了解决这个问题,服务端一般都会设置一个保活定时器,每次收到对方的数据则重置这个定时器,如果定时器超时,服务端则发送探测报文段,探测客户端是否还在线,如果没有收到响应的话,那么则认为客户端已经断开连接了,因此服务端也会终止这个连接。
非常感谢!
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.7k 14
1.2k 13
1.4k 11