81、对于FIN_WAIT_2,CLOSE_WAIT状态和TIME_WAIT状态?你知道 多少?

FIN_WAIT_2:

  1.半关闭状态。

  2.发送断开请求一方还有接收数据能力,但已经没有发送数据能力。

CLOSE_WAIT状态:

  1.被动关闭连接一方接收到FIN包会立即回应ACK包表示已接收到断开请求。

  2.被动关闭连接一方如果还有剩余数据要发送就会进入CLOSED_WAIT状态。

TIME_WAIT状态:

  1.又叫2MSL等待状态。

  2.如果客户端直接进入CLOSED状态,如果服务端没有接收到最后一次ACK包会在超时之后重新再 发FIN包,此时因为客户端已经CLOSED,所以服务端就不会收到ACK而是收到RST。所以 TIME_WAIT状态目的是防止最后一次握手数据没有到达对方而触发重传FIN准备的。

  3.在2MSL时间内,同一个socket不能再被使用,否则有可能会和旧连接数据混淆(如果新连接和旧 连接的socket相同的话)。

原文地址:https://www.cnblogs.com/crbhf/p/15124199.html