linux之errno值为104(connetction reset by peer)

1 问题

往fd里面写(write方法)入数据的时候出错,返回小于等于0的值,然后这个时候打印errno值是104

2 分析

errno是104就是connetction reset by peer,表明在对一个对端socket已经关闭的的连接调用write或send方法,在这种情况下,调用write或send方法后,对端socket便会向本端socket发送一个RESET信号
我们抓包部分图片如下

很明显,这里172.28.100.170向10.0.1.6发了一个RST包,也就是重置包,很明显这里,10.0.1.6是客户端,然后172.28.100.170是 服务端,然后下面进行TCP三次握手的时候,我们可以看到TCP的Retransmission,也就是TCP的重传数据包,TCP协议是一个可靠的协议。它通过重新发送(retransmission)来实现TCP片段传输的可靠性。简单的说,TCP会不断重复发送TCP片段,直到片段被正确接收 。

(0)

相关推荐