TCP异常情况程序崩溃

操作系统是会感知到的,可以做相应的处理
操作系统会回收进程的资源,其中释放包括文件描述符表,就想当于调用了对应socket的close之后触发FIN操作,进而开始进入四次挥手,和普通的四次挥手没有区别.通过开始菜单或执行关机命令,系统会强制结所有进程,回收资源,与程序崩溃执行的流程类似

系统不会做出任何反应

  1. 接收方掉电
  • 发送方并不知道接收方挂了,继续发送数据·发送数据后收不到ACK应答,触发超时重传
  • 多次重传都没有收到ACK应答,会尝试进行连接重置(RST标识位)
  • 连接重置也失败,只能放弃连接
  1. 发送方掉电
  • 一般出现在长连接中,服务器与客户端会维护一个心跳包客户端每隔1秒给服务器发送一个数据包,证明自己存活)告诉对方我还在线,没有真实数据
  • 如果服务器一直收不到这个心跳包,比如过了10秒之后还没有收到,就判定为客户端挂了,自行断开连接
  • 客户端网络恢复之后再次进行重连即可
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《TCP异常情况程序崩溃》
文章链接:https://zhuji.vsping.com/5109.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。