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)