1. 调用 shutdown 之后,状态如下图:
即,half-close中,主动关闭的这一端接收到 ack of FIN 之后,还能读取对端的数据,而complete close的话,主动关闭的这一端会进入FIN_WAIT_2 State,而这个阶段会一直等待对端发送FIN,shutdown把发起主动关闭的这一端从无穷尽的等待中释放出来。伯克利为了防止无穷等待的出现,设置了定时器,超过10m+75s的话,直接进入CLOSED状态。(18.5, p246)
1. 调用 shutdown 之后,状态如下图:
即,half-close中,主动关闭的这一端接收到 ack of FIN 之后,还能读取对端的数据,而complete close的话,主动关闭的这一端会进入FIN_WAIT_2 State,而这个阶段会一直等待对端发送FIN,shutdown把发起主动关闭的这一端从无穷尽的等待中释放出来。伯克利为了防止无穷等待的出现,设置了定时器,超过10m+75s的话,直接进入CLOSED状态。(18.5, p246)