HTTP交互导致ECONNABORTED的原因之一

背景:

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

程序大致流程:

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

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

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


现象

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

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

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


分析:

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

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

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


解决:

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

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

相关推荐
master33612 小时前
SSL 证书链问题导致微信小程序无法正常工作
网络协议·微信小程序·ssl
CoderYanger12 小时前
Java EE:5.网络原理-初识
java·网络·面试·职场和发展·java-ee·智能路由器·学习方法
caimouse12 小时前
Reactos 第 10 章 网络操作 — 10.1 概述
网络·windows
@insist12312 小时前
系统架构设计师-TCP/IP 协议族核心协议详解
网络协议·tcp/ip·系统架构·软考·系统架构设计师·软件水平考试
CingSyuan12 小时前
服务器现场排障:在 Windows 下使用 Linux reader 直接查看 Linux 系统 U 盘中的日志文件与文件结构
linux·运维·服务器·网络·windows
不吃鱼的羊13 小时前
DaVinci配置NVM模块
前端·javascript·网络
艾莉丝努力练剑13 小时前
【Linux网络】多路转接select
java·linux·运维·服务器·网络·tcp/ip
Cx330❀13 小时前
【Linux网络】从零定制应用层协议:黏包问题、全双工缓冲区与 Jsoncpp 序列化深度解析
linux·运维·服务器·开发语言·网络·c++·人工智能
艾莉丝努力练剑13 小时前
【Linux网络】五种IO模型与非阻塞IO
linux·运维·服务器·开发语言·网络·tcp/ip
VidDown13 小时前
视频协议传输全解析:从 HTTP/HTTPS 到 HLS/DASH 的完整旅程
javascript·网络·http·https·编辑器·音视频·视频编解码