Een levende TCP-socket, een reagerende WebSocket-tegenpartij en nuttige applicatievoortgang zijn verschillende waarnemingen:

BewijsWat het vaststelt
Levendigheid op TCP-niveauHet gecontroleerde transportpad reageert op dat niveau
Een overeenkomende WebSocket PongDe tegenpartij beantwoordde dat controlframe
Een applicatiebevestigingDe applicatie bevestigde een bewerking volgens haar eigen protocol

Een forward proxy onderhoudt gewoonlijk afzonderlijke verbindingen richting client en bestemming. De TCP-tegenpartij van de client is de proxy, terwijl een Ping in een gevestigde tunnel naar het WebSocket-eindpunt reist.

Een overeenkomende Pong

Het protocol vereist dat een antwoordende Pong de applicatiegegevens van de Ping meedraagt. Gebruik die overeenkomst om een openstaande peiling te identificeren. Een ongevraagde Pong is toegestaan maar vraagt geen bevestiging; er een na elk databericht sturen levert ander bewijs.

Geef de voorkeur aan het door de bibliotheek ondersteunde heartbeatmechanisme. JavaScript in de browser heeft in plaats daarvan eenapplicatie-heartbeatcontractnodig. Kies intervallen en foutdrempels op basis van de werklast en het netwerkbeleid. Planningspauzes of een overbelaste event loop kunnen een agressieve drempel missen zonder vast te stellen dat het netwerk is uitgevallen.

Houd de ontvanger draaiende

De client heeft doorlopende I/O nodig om controlframes te ontvangen en te verwerken. Dat mechanisme blokkeren kan lokale honger op een storing laten lijken.

Ping zorgt voor tunnelverkeer, maar elke tussenlaag beslist wat aan zijn idle-beleid voldoet. Geen enkele heartbeat garandeert bescherming tegen een absolute levensduurgrens van de verbinding.

Een tegenpartij kan Ping beantwoorden terwijl zijn applicatie stopt met het produceren van updates, en een stille abonnement kan gezond zijn. Volg de laatste geldige Pong en een betekenisvolle applicatiegebeurtenis afzonderlijk wanneer beide ertoe doen. Bewaar bij een storing de route, verstreken tijden en de openstaande peiling, en sluit of herstel dan via de ondersteunde levenscyclus.

Gerelateerde artikelen