Come gestire un errore di interruzione del socket in Node.js di solito


La migliore risposta

Gli errori di interruzione del socket sono solitamente errori quando le richieste in arrivo al tuo server sono più di quanto possa maniglia. Ciò potrebbe essere dovuto a diversi motivi, ad esempio il tuo server sta chiamando un altro server potrebbe essere un database che risponde lentamente e quindi è in attesa di risposta da molto tempo e nel frattempo si stanno accumulando altre richieste ecc.

  1. Chiudi la connessione se ne hai aperta una per la connessione al database al termine del tuo lavoro. Il più delle volte questo è il motivo.
  2. Puoi gestirlo usando i concetti Async o Promise e SetTimeOut che faranno aspettare la risposta del tuo server per un dato tempo e se ci vuole troppo tempo torna con un messaggio di errore.
  3. Puoi creare più istanze della tua applicazione sul server e ogni istanza gestirà le richieste separatamente.
  4. Inoltre, se stai sviluppando una piccola utility, puoi modificarla per attivarla richieste limitate dopo un determinato intervallo.

Risposta

Lerrore di interruzione del socket viene generato in due casi. Quando sei un client e quando sei un server / proxy

Quando, come client, invii una richiesta a un server remoto e non ricevi una risposta tempestiva. Il tuo socket è terminato e questo ha generato questo errore. Dovresti rilevare questo errore e decidere come gestirlo: se ritentare la richiesta, metterla in coda per dopo, ecc.

Quando tu, come server, forse un server proxy, ricevi una richiesta da un client, allora iniziare ad agire su di esso (o inoltrare la richiesta al server upstream) e prima di aver preparato la risposta, il client decide di annullare / interrompere la richiesta.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *