A Node.js-ben található socket lefagyási hiba kezelése általában


Legjobb válasz

A Socket felakasztási hiba általában hiba, amikor a szerverre érkező kérések meghaladják fogantyú. Ennek oka lehet különböző okok, például a szerver hív egy másik szervert, lehet egy adatbázis, amely lassan válaszol, ezért sokáig vár a válaszra, és közben más kérések halmozódnak stb.

  1. Zárja be a kapcsolatot, ha a munka elvégzése után megnyitott egyet az adatbázishoz való csatlakozáshoz. Legtöbbször ez az oka.
  2. Ezt kezelheti Async vagy Promise és SetTimeOut fogalmak használatával, amelyek arra késztetik a kiszolgálót, hogy egy adott ideig várjon a válaszra, és ha túl sokáig tart, csak visszatér hibaüzenet.
  3. Az alkalmazásból több példányt is létrehozhat a kiszolgálón, és mindegyik példány külön kezeli a kéréseket.
  4. Ha egy kis segédprogramot fejlesztesz, akkor módosíthatja az indításhoz korlátozott kérelmek egy adott intervallum után.

Válasz

A Socket felakasztási hiba két esetben merül fel. Amikor Ön kliens és amikor szerver / proxy

Amikor Ön, mint ügyfél, kérést küld egy távoli szervernek, és nem kap időben választ. A foglalata leállt, ami ezt a hibát okozta. El kell kapnia ezt a hibát, és el kell döntenie, hogyan kell kezelni: próbálkozzon-e újra a kéréssel, sorba állítsa-e későbbre stb.

Amikor szerverként, esetleg proxy szerverként kap egy kérést egy klienstől, kezdjen el eljárni ellene (vagy továbbítsa a kérést az upstream szerverhez), és mielőtt elkészítené a választ, az ügyfél úgy dönt, hogy törli / megszakítja a kérést.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük