对端关闭连接原因学习
转自: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下)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现