WebSocket Ping kontra TCP Keepalive proxyn keresztül
Válasszon életjel-ellenőrzést a WebSocket-partnerhez, ahelyett hogy az élő TCP-socketet tekintené bizonyítéknak arra, hogy az alkalmazás útvonala válaszol.
Az élő TCP-socket, a válaszoló WebSocket-partner és a hasznos alkalmazás-előrehaladás három különböző megfigyelés:
| Bizonyíték | Mit állapít meg |
|---|---|
| Életjel TCP-szinten | Az ellenőrzött szállítási útvonal ezen a szinten válaszol |
| Illeszkedő WebSocket Pong | A partner válaszolt arra a vezérlőkeretre |
| Alkalmazás visszaigazolása | Az alkalmazás a saját protokollja szerint igazolt egy műveletet |
Az előre továbbító proxy rendszerint külön kapcsolatot tart a kliens és a cél felé. A kliens TCP-partnere a proxy, míg a létrejött alagúton belüli Ping a WebSocket-végpontig jut.
Illeszkedő Pong
A protokoll előírja, hogy a válaszoló Pong hordozza a Ping alkalmazásadatát. Használja ezt a megfelelést egy függőben lévő próba azonosítására. A nem kért Pong megengedett, de nem kér visszaigazolást; minden adatüzenet után küldeni másfajta bizonyítékot ad.
Részesítse előnyben a könyvtár által támogatott szívverés-mechanizmust. A böngésző JavaScriptje helyette alkalmazásszintű szívverés-szerződést igényel. Az intervallumokat és hiba-küszöböket a terhelés és a hálózati szabályzat szerint válassza meg. Az ütemezési szünetek vagy a túlterhelt eseményhurok elmulaszthatják az agresszív küszöböt anélkül, hogy hálózati hibát bizonyítanának.
Tartsa működésben a fogadót
A kliensnek folyamatos bemenetre és kimenetre van szüksége a vezérlőkeretek fogadásához és feldolgozásához. Ennek a mechanizmusnak a blokkolása helyi hiányt tüntethet fel kiesésként.
A Ping alagútforgalmat kelt, de minden köztes fél maga dönti el, mi elégíti ki a tétlenségi szabályát. Egyetlen szívverés sem garantál védelmet a kapcsolat élettartamának abszolút korlátjával szemben.
A partner akkor is válaszolhat Pingre, amikor az alkalmazása már nem állít elő frissítéseket, és egy csendes előfizetés is lehet egészséges. Amikor mindkettő számít, kövesse külön az utolsó érvényes Pongot és a jelentős alkalmazáseseményt. Hiba esetén őrizze meg az útvonalat, az eltelt időket és a függőben lévő próbát, majd a támogatott életcikluson keresztül zárja le vagy állítsa helyre.