2012-04-29 106 views
1

我剛剛開始使用nodejs並使用它創建服務器。客戶使用socket.io連接到它,接收作業進行處理,並將結果發送回nodejs服務器。Occassional ECONNREFUSED錯誤

但是服務器會出現以下錯誤偶爾崩潰:

node.js:201 
    throw e; // process.nextTick error, or 'error' event on first tick 
     ^
Error: connect ECONNREFUSED 
    at errnoException (net.js:614:11) 
    at Object.afterConnect [as oncomplete] (net.js:605:18) 

我不知道是什麼原因造成這一點。

+1

你能分享你的源代碼嗎? – Menztrual 2012-04-29 01:46:07

+0

沒有來源=沒有答案。 – Hello71 2012-04-29 02:02:27

+0

哪裏可以發佈源代碼?儘管 – Nyxynyx 2012-04-29 10:33:20

回答

1

ECONNREFUSED表示您嘗試與另一臺計算機建立連接,但連接被拒絕 - 無論是否正在監聽或防火牆阻止您。

我已經看到這使用http,但我認爲它也可能發生使用直插座。

+0

防火牆通常會產生超時,而不是'ECONNREFUSED' – Alnitak 2012-04-29 11:54:12

+0

我的防火牆在工作時已經獲得ECONNREFUSED。但是,您的情況可能會有所不同 – ControlAltDel 2012-04-29 14:00:08

+0

我曾與數十個防火牆合作 - 大多數黑洞入站流量,不發回假「ECONNREFUSED」。 – Alnitak 2012-04-29 16:52:56

0

只要您調用的服務器拒絕連接,您可能正在爲使用node.js而死亡。試試這個:

process.on('uncaughtException', function (err) { 
    console.log(err); 
}); 

它只會記錄錯誤並保持您的服務正常運行。

+0

不幸的是,這個快速修復可能相當危險。查看'uncaughtException'節點文檔:https://nodejs.org/api/process.html#process_event_uncaughtexception – Paul 2015-12-28 02:27:34

相關問題