TCP connection reset by peer异常和Broken pipe异常分析

在前篇遗留了一个问题,为什么在对端发送了[RST,ACK]报文后,在服务端没有收到ConnectionResetError异常,而是发生了BrokenPipeError异常,我们通过前篇提到的代码分析过程如下:

图1

这里面涉及两个主要技术点:

1,recv返回空串的原因,参考man recv的返回值为0时的描述

2,connection reset by peer异常和Broken pipe异常机制,参考:broken pipe 和 connection reset by peer的区别

你可能感兴趣的:(TCP connection reset by peer异常和Broken pipe异常分析)