背景:
本次记录的,是一次使用HTTP交互过程中遇到的问题,问题不大,就是给题目上这个报错补充一种可能的解决方案。
程序大致流程:
-
设备向服务器A请求信息
-
拿到回复记录下回复内容中的数据包下载地址等信息
-
使用下载信息的IP地址向服务器B请求新的数据包内容
现象
本次出现问题是在流程的第3步,下图是运行过程提示的log信息:
下图为错误码报出的位置,以及错误码代表的含义:
所以现象就是这么个现象,connect失败了,错误码提示ECONNABORTED。
分析:
先去网上搜了一下,介绍得都很清楚准确,关于客户端抛出ECONNABORTED这个错误码的内在逻辑。
内部逻辑解释得都没问题,各位前辈都说得很明白。不过具体到不同人遇到的问题,和表现出来的现象都不一样。比如我这次的报错,仔细对照log检查了代码逻辑,很容易就能发现原因。
向服务器请求http数据,端口应该用"80",这个都清楚。不过我这次请求过程中,代码处理上出了点问题,导致端口号用的是"0". 进而导致了这次的报错。
解决:
修正端口号为"80",connect就正常了,不再报错。
特此记录一下,帮助可能碰到同样问题的兄弟。