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.
- 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.
- 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.
- 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.
- 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.