Živý TCP socket, odpovedajúci partner WebSocket a užitočný pokrok aplikácie sú odlišné pozorovania:

DôkazČo ustanovuje
Životnosť na úrovni TCPOverovaná transportná cesta odpovedá na tejto úrovni
Zodpovedajúci WebSocket PongPartner odpovedal na tento riadiaci rámec
Potvrdenie aplikácieAplikácia potvrdila operáciu podľa vlastného protokolu

Preposielajúci proxy zvyčajne udržiava oddelené spojenia ku klientovi a k cieľu. TCP partnerom klienta je proxy, kým Ping v nadviazanom tuneli putuje ku koncovému bodu WebSocket.

Zodpovedajúci Pong

Protokol vyžaduje, aby odpovedajúci Pong niesol aplikačné dáta z Ping. Použite tú zhodu na identifikáciu nevyriešenej kontroly. Nevyžiadaný Pong je povolený, ale nežiada potvrdenie; jeho odoslanie po každej dátovej správe poskytuje iný dôkaz.

Uprednostnite mechanizmus srdca podporovaný knižnicou. JavaScript v prehliadači potrebuje namiesto tohozmluvu srdca aplikácie. Vyberte intervaly a prahy zlyhania podľa záťaže a sieťovej politiky. Pauzy plánovania alebo preťažená slučka udalostí môžu premárniť agresívny prah bez toho, aby určili zlyhanie siete.

Udržujte prijímač v chode

Klient potrebuje nepretržitý I/O na prijímanie a spracovanie riadiacich rámcov. Zablokovanie tohto mechanizmu môže spôsobiť, že lokálny nedostatok zdrojov bude vyzerať ako výpadok.

Ping vytvára tunelovú prevádzku, ale každý sprostredkovateľ sám rozhoduje, čo uspokojí jeho politiku nečinnosti. Žiadny tep srdca nezaručuje ochranu pred absolútnym limitom životnosti spojenia.

Partner môže odpovedať na Ping, kým jeho aplikácia prestane vytvárať aktualizácie, a tiché odoberanie môže byť zdravé. Sledujte posledný platný Pong a významnú udalosť aplikácie oddelene, keď sú dôležité obe. Pri zlyhaní si ponechajte trasu, uplynuté časy a nevyriešenú kontrolu, potom zatvorte alebo obnovte cez podporovaný životný cyklus.

Súvisiace články