WebSocket Ping proti TCP Keepalive skozi proxy
Izberite preverjanje živosti partnerja WebSocket, namesto da bi živo vtičnico TCP imeli za dokaz, da se pot aplikacije odziva.
Živa vtičnica TCP, odziven partner WebSocket in koristen napredek aplikacije so različna opažanja:
| Dokaz | Kaj ugotavlja |
|---|---|
| Živost na ravni TCP | Preverjena transportna pot se odziva na tej ravni |
| Ustrezni WebSocket Pong | Partner je odgovoril na ta nadzorni okvir |
| Potrditev aplikacije | Aplikacija je potrdila operacijo po svojem protokolu |
Posredniški proxy običajno vzdržuje ločene povezave do odjemalca in do cilja. TCP partner odjemalca je proxy, medtem ko Ping v vzpostavljenem tunelu potuje do končne točke WebSocket.
Ustrezni Pong
Protokol zahteva, da odgovarjajoči Pong nosi aplikacijske podatke Pinga. To ujemanje uporabite za prepoznavo nerešene preveritve. Nezahtevani Pong je dovoljen, a ne zahteva potrditve; pošiljanje po vsakem podatkovnem sporočilu daje drugačen dokaz.
Prednost dajte mehanizmu srčnega utripa, ki ga podpira knjižnica. JavaScript v brskalniku namesto tega potrebujepogodbo o srčnem utripu aplikacije. Izberite intervale in pragove napak glede na obremenitev in omrežno politiko. Premori razporejanja ali preobremenjena zanka dogodkov lahko zgrešijo agresiven prag, ne da bi ugotovili, da je omrežje odpovedalo.
Ohranjajte sprejemnik delujoč
Odjemalec potrebuje nenehen I/O za sprejemanje in obdelavo nadzornih okvirov. Blokiranje tega mehanizma lahko povzroči, da je lokalno pomanjkanje virov videti kot izpad.
Ping ustvarja promet v tunelu, a vsak posrednik sam odloči, kaj zadovolji njegovo politiko mirovanja. Noben srčni utrip ne zagotavlja zaščite pred absolutno omejitvijo življenjske dobe povezave.
Partner lahko odgovori na Ping, medtem ko njegova aplikacija preneha ustvarjati posodobitve, in tiho naročanje je lahko zdravo. Spremljajte zadnji veljavni Pong in pomemben dogodek aplikacije ločeno, kadar sta pomembna oba. Ob napaki obdržite pot, pretečene čase in nerešeno preveritev, nato zaprite ali obnovite skozi podprt življenjski cikel.