CNode

socket hang up

问答
YYeDongaidiiqu发布于8 年前最后回复8 年前8 回复4421 浏览0 收藏

我的服务端是基于express 框架架构的,其中有一个请求的处理时间特别长,但客户端需要等待处理结果,客户端用的是 request 模块去请求的,结果报错如下

{ Error: socket hang up at createHangUpError (_http_client.js:331:15) at Socket.socketOnEnd (_http_client.js:423:23) at emitNone (events.js:111:20) at Socket.emit (events.js:208:7) at endReadableNT (_stream_readable.js:1064:12) at _combinedTickCallback (internal/process/next_tick.js:138:11) at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ECONNR ESET' }

请指导指导,

查看回复

回复 (7)

Y
YeDongaidiiqu#1·8 年前
引用 phper-chen用needle 或者你的头信息不合适

@phper-chen 跟头部应该没关系,之前我是用的get 请求,后来换成了post ,body 里面传的是空的,发现还是会报错,我觉得应该是请求时间过长,socket 自动断开连接了

Z
zouzhenxing#2·8 年前

这个错误是服务端报的,还是request端报的?如果是request报的,只需修改请求的超时时间。

Y
YeDongaidiiqu#3·8 年前
引用 zouzhenxing这个错误是服务端报的,还是request端报的?如果是request报的,只需修改请求的超时时间。

@zouzhenxing 是客户端报的,然后这个接口就是阻塞的,最好是等待服务端的请求结果

Y
YeDongaidiiqu#4·8 年前
引用 linkenliuprocess.env.NODE TLS REJECT UNAUTHORIZED = "0" 试试

@linkenliu 貌似还不行,还是socket hang up

P
phper-chen#5·8 年前

可能你请求的api需要权限或者特定的头信息

P
phper-chen#6·8 年前

用needle 或者你的头信息不合适

L
linkenliu#7·8 年前

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" 试试

参与回复
登录后即可参与回复。登录