调整超时设置:对于数据库连接,可以适当调整wait_timeout和interactive_timeout的值,以避免因连接空闲超时而被关闭。如果你的应用通过负载均衡器访问服务,确保负载均衡器的超时设置与你的应用和服务器的需求相匹配。 在Node.js应用中处理错误:通过监听socket或http请求的错误事件来捕获ECONNRESET错误,并优雅地处理它(如重...
错误信息"ECONNRESET"表示连接被对方重置,通常是由于对方意外关闭了连接或网络中断导致的。在Node.js中,当发生ECONNRESET错误时,表示与远程服务器的连接已经关闭。 在处理这个错误时,可以采取以下措施: 检查网络连接是否正常,确保网络稳定。 检查远程服务器是否正常运行,并且没有意外关闭连接。
Error: read ECONNRESET atTCP.onStreamRead (internal/stream_base_commons.js:162:27) 出现上述情况一般是客户端关闭了socket连接导致的错误,这个错误会导致程序的异常退出 解决办法: var pReq = http.request(options, function (pRes) { cSock.writeHead(pRes.statusCode, pRes.headers); pRes.pipe(cSock);...
我司的应用服务器最近经常访问数据库的时候偶然出现Read ECONNRESET的情况,其中包含了mysql和tidb两种数据库访问场景。发生的概率并不高,偶尔一天几个,但是在过年回来之后的第一天就频繁出现了,而且只有在nodejs的应用服务器出现过,Java类的项目暂未出现,甚是奇怪。 我司对数据库的访问都是通过阿里云内部的SLB来中转...
nodejs的onread函数执行了destroy函数。这里就不具体展开,destroy做的事情就是调用_destroy函数。然后emit一个error事件,并传入一个Error对象(包含了错误码和系统调用函数等信息)。触发error事件的时候,我们就输出了read ECONNRESET。至此,整个源码分析过程结束。
测试发现,经常会出现request error: read ECONNRESET、request error: socket hang up 这样的错误,查看日志发现每次出错的请求的body并不一样,并且通过正常方式(手机APP)访问这个资源时不会出错。 虽然已经用了for ... of + await 的语法代替forEach,限制了同一时间的异步请求数量,但每次这1万个请求中总会出现4...
wuwangju1楼•4 个月前
我司应用服务器频繁出现Read ECONNRESET情况,涉及mysql和tidb数据库访问。异常发生频率不高,但过年回来首日出现频次激增。问题仅在使用Nodejs的应用服务器上出现,Java项目未受影响。应用通过阿里云SLB中转数据库访问,SLB超时机制未被怀疑。起初,团队猜测SLB在超时后不向客户端与数据库服务器发送FIN或...
While I'm running npm, I opened several web pages that connect to nodejs server, but when one web page closed or disconnected, the whole server will crush, and return this:Error: read ECONNRESET I googled for these and someone said this is because there isn't an error handler, but ...
ECONNRESET是一个错误代码,表示连接被对方重置。当浏览器刷新时,会关闭之前的Websocket连接,然后重新建立新的连接。在这个过程中,服务器可能会收到一个连接重置的信号,导致返回ECONNRESET错误。 解决这个问题的方法是在服务器端正确处理连接重置的情况。可以通过在服务器端监听Websocket的close事件,当连接关闭时...