WebSocket Ping pret TCP Keepalive caur proxy
Izvēlieties WebSocket partnera dzīvotspējas pārbaudi, nevis uzskatiet dzīvu TCP ligzdu par pierādījumu, ka lietojumprogrammas ceļš atbild.
Dzīva TCP ligzda, atsaucīgs WebSocket partneris un lietderīgs lietojumprogrammas progress ir dažādi novērojumi:
| Pierādījums | Ko tas nosaka |
|---|---|
| Dzīvotspēja TCP līmenī | Pārbaudītais transporta ceļš atbild šajā līmenī |
| Atbilstošs WebSocket Pong | Partneris atbildēja uz šo vadības kadru |
| Lietojumprogrammas apstiprinājums | Lietojumprogramma apstiprināja darbību saskaņā ar savu protokolu |
Pārejas starpniekserveris parasti uztur atsevišķus klienta un galamērķa savienojumus. Klienta TCP partneris ir starpniekserveris, bet Ping izveidotā tunelī dodas uz WebSocket galapunktu.
Atbilstošs Pong
Protokols prasa, lai atbildošais Pong pārnestu Ping lietojumprogrammas datus. Izmantojiet šo atbilstību, lai identificētu neizpildītu pārbaudi. Neizsaukts Pong ir atļauts, bet nepieprasa apstiprinājumu; tā nosūtīšana pēc katra datu ziņojuma sniedz citādu pierādījumu.
Dodiet priekšroku bibliotēkas atbalstītajam sirdsdarba mehānismam. Pārlūka JavaScript tā vietā ir vajadzīgslietojumprogrammas sirdsdarba līgums. Izvēlieties intervālus un kļūmju sliekšņus atbilstoši darba slodzei un tīkla politikai. Plānošanas pauzes vai pārslogots notikumu cikls var nokavēt agresīvu slieksni, tā arī nekonstatējot tīkla kļūmi.
Turiet uztvērēju darbībā
Klientam ir vajadzīga pastāvīga I/O, lai saņemtu un apstrādātu vadības kadrus. Šī mehānisma bloķēšana var likt vietējam resursu trūkumam izskatīties kā pārtraukums.
Ping rada tuneļa trafiku, bet katrs starpnieks pats izlemj, kas apmierina tā dīkstāves politiku. Neviens sirdsdarba signāls negarantē aizsardzību pret absolūtu savienojuma darbības laika ierobežojumu.
Partneris var atbildēt uz Ping, kamēr tā lietojumprogramma pārstāj radīt atjauninājumus, un kluss abonements var būt veselīgs. Sekojiet pēdējam derīgajam Pong un nozīmīgam lietojumprogrammas notikumam atsevišķi, ja abi ir svarīgi. Kļūmes gadījumā saglabājiet maršrutu, pagājušo laiku un neizpildīto pārbaudi, pēc tam aizveriet vai atjaunojiet atbalstītajā dzīves ciklā.