2010-11-03 4 views
12

Molti dei miei processi node.js si bloccano con l'errore ECONNRESET. Ecco l'output che posso vedere:Come gestire ECONNRESET, Connessione ripristinata dal peer

node.js:50 
    throw e; 
    ^
Error: ECONNRESET, Connection reset by peer 
    at Client._readImpl (net:320:14) 
    at IOWatcher.callback (net:470:24) 
    at node.js:607:9 

Qualcuno sa come gestirlo? Non è una traccia di stack molto utile quindi non ho idea di dove stia accadendo. Dovrei semplicemente racchiudere qualsiasi accesso a una fonte remota tramite http con un blocco try/catch? O c'è un modo migliore?

In generale non mi interessa se ciò accade o se alcune attività non vengono completate a causa di ciò. Quello che mi interessa è che il processo dovrebbe semplicemente scrollarlo di dosso e lavorare sull'attività successiva.

+0

Quali sono le dipendenze del modulo? –

risposta

15

È necessario allegare all'evento di errore per il socket. In caso contrario, l'azione predefinita consiste nel generare un'eccezione quando si verifica un errore.

socket.on('error', function (exc) { 
    sys.log("ignoring exception: " + exc); 
}); 
+1

Questo risiede sul lato server, giusto? All'interno di .on ("connetti", funzione (socket) {// ascolta errare qui}) – Samson

+0

Finalmente! Non hai idea di quanto ci sia voluto per trovarlo. – sidonaldson