節點js ECONNRESET我正在使用Socket.IO運行一個Express js應用程序進行聊天,并在24小時內隨機獲得以下錯誤5次。節點進程將永遠包裝,并立即重新啟動。問題是重新啟動特快會把我的用戶趕出他們的房間,而沒有人想那樣做。Web服務器由HAProxy代理。不存在套接字穩定性問題,只需使用WebSocket和閃存套接字傳輸。我不能故意復制這個。這是節點v0.10.11的錯誤:events.js:72
throw er; // Unhandled 'error' event
^Error: read ECONNRESET //alternatively it s a 'write'
at errnoException (net.js:900:11)
at TCP.onread (net.js:555:19)error: Forever detected script exited with code: 8error: Forever restarting script for 2 time同時添加了Socket.IO客戶端錯誤處理程序和未處理異常處理程序。似乎這個人捕捉到了錯誤:process.on('uncaughtException', function (err) {
console.error(err.stack);
console.log("Node NOT Exiting...");});因此,我懷疑這不是Socket.IO問題,而是我對另一個服務器的http請求,或者MySQL/redis連接。問題是錯誤堆棧不能幫助我識別我的代碼問題。下面是日志輸出:Error: read ECONNRESET
at errnoException (net.js:900:11)
at TCP.onread (net.js:555:19)我怎么知道是什么原因造成的?如何從錯誤中獲得更多信息?好的,不是很詳細,但是下面是帶有“Longjohn”的堆棧跟蹤:Exception caught: Error ECONNRESET{ [Error: read ECONNRESET]
code: 'ECONNRESET',
errno: 'ECONNRESET',
syscall: 'read',
__cached_trace__:
[ { receiver: [Object],
fun: [Function: errnoException],
pos: 22930 },
{ receiver: [Object], fun: [Function: onread], pos: 14545 },
{},
{ receiver: [Object],
fun: [Function: fireErrorCallbacks],
pos: 11672 },
{ receiver: [Object], fun: [Function], pos: 12329 },
{ receiver: [Object], fun: [Function: onread], pos: 14536 } ],
__previous__:
{ [Error]
id: 1061835,
location: 'fireErrorCallbacks (net.js:439)',
__location__: 'process.nextTick',
__previous__: null,
__trace_count__: 1,
__cached_trace__: [ [Object], [Object], [Object] ] } }這是原因嗎?
3 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
NET:不要壓制ECONNRESET(Ben Noordhuis)
require('net') .createServer( function(socket) { // no nothing }) .listen(21, function() { console.log('Socket ON') })
- 3 回答
- 0 關注
- 1142 瀏覽
添加回答
舉報
0/150
提交
取消