[2018-06-01T15:42:46.018] [ERROR] error - { 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: ‘ECONNRESET’ } [root@ad-cn logs]# 只要报这个错误,网站速度就很慢?不知道什么原因,求大神指教 我看到这个报错中,没有我用的模块 是因为我没有及时返回数据吗
首先我也不太清楚,共同探讨。 这个可能是要看你用的是fetch/axios/request/superagent?(可能要深究一下源码) 之前我用request模块去请求某个url,也报出了这个错误。换成axios就不会。 你英文以及理解能力足够好的话,可以看看 这里。反正我是没看懂。
node中报socket hang up的原因很多。 但基本原因大多是连接被断开了。 你看它的描述。socket hang up 连接挂断就知道了。 建议你用wireshark抓包看一下。 看看在你发最后一个包的时候是不是返回了RST标志。一般都是连接已经被fin了,但可能是服务器没来得及处理,依然对它进行读写操作就会报这个错误。
@Gitforxuyang 你好,如果是连接中断,导致这种错误的,应该怎么处理,是直接给返回一个500页面吗?我在网上看了好多,都说是因为连接中断,然后没有给响应数据 吗?
@zhongshiji 非常感谢谢,我看一下
@dixiaoping 如果连接中断造成这个问题,你需要排查为什么。是必然出现还是偶然出现?出现频率如何。 如果错误出现具有一定的规律性那就肯定是有一个原因造成了。 就需要去排查解决它。 我以前遇到过一次,最后查出来是供应商设置了最大连接数限制,所以最后加上代理池保证不再出现超出限制的情况。 解决。