保活计时器有什么用?

除了时间等待计时器外,TCP还引入了保活计时器(keepalive timer)来处理客户端突然故障的情况。

假设客户端已经与服务器建立了TCP连接,但是后来客户端的主机突然发生故障,这意味着服务器将无法再接收到来自客户端的数据。为了避免服务器持续等待无效的连接,就需要使用保活计时器。

当服务器收到客户端的数据时,它会重新设置保活计时器,通常设置为两个小时。如果在两个小时内没有收到客户端的数据,服务器将发送一个探测报文段,然后每隔75秒发送一次。如果连续发送了10个探测报文段后仍然没有收到客户端的响应,服务器将判断客户端发生故障,并关闭该连接。

通过保活计时器,TCP可以及时检测到客户端故障,并主动关闭无效的连接,以释放服务器资源。这样可以确保TCP连接的可靠性和高效性。

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题, 计算机网络, 计算机网络面试题