如何解决nodejs报错:ECONNRESET

27,373次阅读
没有评论

共计 1245 个字符,预计需要花费 4 分钟才能阅读完成。

ECONNRESET(连接被对等方重置):连接被对等方强制关闭。这通常是由于超时或重新启动导致远程套接字上的连接丢失所致。通常通过 http 和 net 模块才遇到的。

ECONNRESET 错误介绍与解决方法

ECONNRESET 是与另一台服务器的 TCP 连接突然关闭(通常在收到响应之前)时发生的常见异常。当您尝试通过已关闭的 TCP 连接发出请求时,或者在收到响应之前关闭连接时(可能是在超时的情况下),可能会发出该信号。根据您的 Node.js 版本,此异常通常如下所示:

Error: socket hang up
    at connResetException (node:internal/errors:691:14)
    at Socket.socketOnEnd (node:_http_client:466:23)
    at Socket.emit (node:events:532:35)
    at endReadableNT (node:internal/streams/readable:1346:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {code: 'ECONNRESET'}

如果在向另一台服务器发出请求时发生此异常,您应该捕获它并决定如何处理它。例如,您可以立即重试该请求,或将其排队以供稍后使用。如果您想等待更长时间才能完成请求,您还可以检查超时设置。

res.end() 另一方面,如果它是由客户端故意关闭对服务器的未完成请求引起的,那么除了结束连接 () 并停止生成响应时执行的任何操作之外,您不需要执行任何操作。您可以通过以下方式检测客户端套接字是否被破坏:

app.get("/", (req, res) => {
  // listen for the 'close' event on the request
  req.on("close", () => {console.log("closed connection");
  });

  console.log(res.socket.destroyed); // true if socket is closed
});

文章来源地址 https://www.toymoban.com/diary/nodejs/463.html

到此这篇关于如何解决 nodejs 报错:ECONNRESET 的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/nodejs/463.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计1245字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)