HTTP交互导致ECONNABORTED的原因之一

背景:

本次记录的,是一次使用HTTP交互过程中遇到的问题,问题不大,就是给题目上这个报错补充一种可能的解决方案。

程序大致流程:

  1. 设备向服务器A请求信息

  2. 拿到回复记录下回复内容中的数据包下载地址等信息

  3. 使用下载信息的IP地址向服务器B请求新的数据包内容


现象

本次出现问题是在流程的第3步,下图是运行过程提示的log信息:

下图为错误码报出的位置,以及错误码代表的含义:

所以现象就是这么个现象,connect失败了,错误码提示ECONNABORTED。


分析:

先去网上搜了一下,介绍得都很清楚准确,关于客户端抛出ECONNABORTED这个错误码的内在逻辑。

内部逻辑解释得都没问题,各位前辈都说得很明白。不过具体到不同人遇到的问题,和表现出来的现象都不一样。比如我这次的报错,仔细对照log检查了代码逻辑,很容易就能发现原因。

向服务器请求http数据,端口应该用"80",这个都清楚。不过我这次请求过程中,代码处理上出了点问题,导致端口号用的是"0". 进而导致了这次的报错。


解决:

修正端口号为"80",connect就正常了,不再报错。

特此记录一下,帮助可能碰到同样问题的兄弟。

相关推荐
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
以太浮标5 小时前
华为eNSP模拟器综合实验之- VLAN终结实践案例分析
网络·计算机网络·华为·智能路由器
Trouvaille ~7 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
柱子jason7 小时前
使用IOT-Tree Server模拟Modbus设备对接西门子PLC S7-200
网络·物联网·自动化·modbus·西门子plc·iot-tree·协议转换
Arvin6279 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl
Trouvaille ~9 小时前
【Linux】网络编程基础(三):Socket编程预备知识
linux·运维·服务器·网络·c++·socket·网络字节序
酣大智9 小时前
DHCP中继配置实验
运维·网络·网络协议·tcp/ip·华为
小义_9 小时前
【RH134知识点问答题】第6章 管理 SELinux 安全性
linux·网络·云原生·rhel
REDcker10 小时前
RTSP 直播技术详解
linux·服务器·网络·音视频·实时音视频·直播·rtsp
阿猿收手吧!10 小时前
【C++】异常处理:catch块执行后程序如何继续
服务器·网络·c++