WebSocket Ping versus TCP Keepalive puhverserveri kaudu
Valige WebSocket-vastaspoole elujõulisuse kontroll, selle asemel et pidada elusat TCP-pesast tõestuseks, et rakenduse tee vastab.
Elus TCP-pesa, vastav WebSocket-vastaspool ja kasulik rakenduse edenemine on erinevad täheldused:
| Tõestus | Mida see kinnitab |
|---|---|
| Elujõulisus TCP tasandil | Kontrollitud transporditee vastab sellel tasandil |
| Sobiv WebSocket Pong | Vastaspool vastas sellele juhtraamile |
| Rakenduse kinnitus | Rakendus kinnitas toimingu oma protokolli järgi |
Edasisaate puhverserver hoiab tavaliselt klienti ja sihtkohta suunatud ühendusi eraldi. Kliendi TCP-vastaspool on puhverserver, samal ajal kui loodud tunnelis olev Ping liigub WebSocketi lõpp-punktini.
Sobiv Pong
Protokoll nõuab, et vastav Pong kannaks Pingi rakenduse andmeid. Kasutage seda vastavust poolelioleva kontrolli tuvastamiseks. Küsimata Pong on lubatud, kuid see ei taotle kinnitust; selle saatmine pärast iga andmesõnumit annab teistsuguse tõestuse.
Eelistage teegi toetatud südamelöögi mehhanismi. Brauseri JavaScript vajab selle asemel rakendustasandi südamelöögi lepet. Valige intervallid ja tõrke lävendid töökoormuse ja võrgupoliitika järgi. Ajastuspausid või ülekoormatud sündmuste tsükkel võivad agressiivse lävendi vahele jätta, tõestamata võrgu tõrget.
Hoidke vastuvõtja töös
Klient vajab juhtraamide vastuvõtmiseks ja töötlemiseks pidevat sisendit ja väljundit. Selle mehhanismi blokeerimine võib muuta kohaliku nappuse katkestuse sarnaseks.
Ping tekitab tunneliliiklust, kuid iga vahendaja otsustab ise, mis rahuldab tema jõudeoleku reeglit. Ükski südamelöök ei taga kaitset ühenduse eluea absoluutse piiri eest.
Vastaspool võib Pingile vastata ka siis, kui tema rakendus lõpetab värskenduste tootmise, ja vaikne tellimus võib olla terve. Jälgige viimast kehtivat Pongi ja olulist rakendussündmust eraldi, kui mõlemad loevad. Tõrke korral säilitage teekond, kulunud ajad ja pooleliolev kontroll, seejärel sulgege või taastage toetatud elutsükli kaudu.