qiniu / nodejs-sdk

Qiniu Resource (Cloud) Storage SDK for Node.js
586 stars 190 forks source link

使用七牛 node 上传,第一次ok,连续两次,就报这个异常。 #399

Closed wsdo closed 2 years ago

wsdo commented 2 years ago

"stack": "Error: read ECONNRESET\n\tat TCP.onStreamRead (node:internal/stream_base_commons:220:20)", "message": "read ECONNRESET, POST http://up-z1.qiniup.com/ -1 (connected: true, keepalive socket: true, socketHandledRequests: 1, socketHandledResponses: 0)\nheaders: {}", "errno": -54, "code": "ECONNRESET", "syscall": "read", "name": "ResponseError", "path": "/", "status": -1, "headers": {}, "res": { "status": -1, "headers": {} } }}

lihsai0 commented 2 years ago

这个一般还是和客户端网络环境相关。在长连接的前提下,服务端长时间未收到客户端的数据,于是先于客户端关闭了 TCP。而客户端此时还未同步到关闭状态,认为长连接还在就复用了连接发送数据。结果就是被服务端直接拒绝。

SDK 针对这个错误,后续如果能做的也是重试,重新建立连接继续上传。

wsdo commented 2 years ago

目前,怎么解决呢?必现的, 第一个ok ,后面上传都不可以了

lihsai0 commented 2 years ago

一般重试即可。

能否具体提供下具体环境信息?

操作系统、NodeJS 版本、SDK 版本等。看下能否稳定复现。

另外您这边到 http://up-z1.qiniup.com/ 的网络状态如何?