对端关闭连接原因学习

转自:https://blog.csdn.net/xc_zhou/article/details/80950753

1、介绍

对端关闭连接通常会出现 "connection reset by peer" 的错误日志,导致发包失败,接口超时。是因为对端异常关闭socket连接,并且发送了RST报文异常终止连接,而不是发送FIN报文正常终止连接。

  • 如果一端的Socket被关闭(或主动关闭,或因为异常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。
  • 一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。

在连接断开后的读和写操作引起的

2、常见原因

  • 服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭。“可以使用netstat -an查看网络连接情况。”

https://blog.csdn.net/yusiguyuan/article/details/22515921,这个博客里讲到了很多case,虽然有一点乱,但讨论了很多可能的情况。

  • 当TCP连接的进程在忘记关闭Socket而退出、程序崩溃、或非正常方式结束进程的情况下会导致TCP连接的对端进程产生“104: Connection reset by peer”(Linux下)。

 

posted @ 2023-07-16 15:56  lypbendlf  阅读(230)  评论(0编辑  收藏  举报