您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页errorconnectionresetbypeer104

errorconnectionresetbypeer104

来源:抵帆知识网
errorconnectionresetbypeer104

connection reset by peer的常见原因

1.服务器的并发连接数超过了其承载量,服务器会将其中⼀些连接关闭;

2. errno = 104错误表明你在对⼀个对端socket已经关闭的的连接调⽤write或send⽅法,在这种情况下,调⽤write或send⽅法后,对端socket便会向本端socket发送⼀个RESET信号,在此之后如果继续执⾏write或send操作,就会得到errno为104,错误描述为connectionreset by peer。

具体的分析可以结合TCP的\"四次挥⼿\"关闭. TCP是全双⼯的信道, 可以看作两条单⼯信道, TCP连接两端的两个端点各负责⼀条. 当对端调⽤close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协议的语义, 表⽰对端只是关闭了其所负责的那⼀条单⼯信道, 仍然可以继续接收数据. 也就是说, 因为TCP协议的, ⼀个端点⽆法获知对端的socket是调⽤了close还是shutdown.

对于⼀个TCP连接,如果对端执⾏close操作,则会向本端发送⼀个FIN分节,这时候读本端socket会返回0,我们就知道对⽅已经关闭了连接,通常这时候我们会在本地调⽤close来主动关闭本端连接。但如果对⽅socket已经执⾏了close的操作,本端socket还继续在这个连接上写数据,就会触发对端socket发送RST报⽂,按照TCP的四次挥⼿原理,这时候本端socket应该也要开始执⾏close的操作流程了,⽽不是接着发数据.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务