Skip to content

Latest commit

 

History

History
15 lines (12 loc) · 930 Bytes

File metadata and controls

15 lines (12 loc) · 930 Bytes
1. a、b两个正常连接的对端进程。假如b进程没有调用close就异常终止,那么发送FIN包时内核OS代劳
2. 一端断网、断电情况下有数据传输

断网时如果有数据发送,由于收不到 ACK,所以会重试,但并不会无限重试下去,达到一定的重发次数之后,如果仍然没有任何确认应答返回,就会判断为网络或者对端主机发生了异常,强制关闭连接。 Linux 下的设置为 > 最小重传时间是200ms > 最大重传时间是120s > 重传次数为15

3. 一端断网、断电情况下没有数据传输
  • 开启TCP的keepAlive机制,一端发送保活报文,达到一定的次数断开连接
  • 关闭TCP的keepAlive机制,连接不会断开
4. 断电/断网后服务器server重启再恢复
如果client发送一个数据包给server,server的OS会发送一个RST报文给client