WebSocket Ping kumpara sa TCP Keepalive Sa pamamagitan ng Proxy
Pumili ng pagsusuri ng buhay para sa kapares na WebSocket sa halip na ituring ang buhay na TCP socket bilang patunay na tumutugon ang landas ng aplikasyon.
Ang buhay na TCP socket, tumutugong kapares na WebSocket at kapaki-pakinabang na pag-unlad ng aplikasyon ay magkaibang mga obserbasyon:
| Ebidensya | Ano ang itinatatag nito |
|---|---|
| Buhay sa antas ng TCP | Tumutugon ang sinuring landas ng transportasyon sa antas na iyon |
| Tugmang WebSocket Pong | Sinagot ng kapares ang control frame na iyon |
| Pagpapatunay ng aplikasyon | Pinatunayan ng aplikasyon ang isang operasyon sa ilalim ng sarili nitong protocol |
Ang forward proxy ay karaniwang nagpapanatili ng hiwalay na koneksyon para sa kliyente at sa destinasyon. Ang TCP kapares ng kliyente ay ang proxy, habang ang Ping sa loob ng naitatag na tunnel ay naglalakbay patungo sa endpoint ng WebSocket.
Tugmang Pong
Inaatasan ng protocol na ang tumutugong Pong ay magdala ng datos ng aplikasyon ng Ping. Gamitin ang tugmang iyon upang makilala ang nakabinbing pagsusuri. Ang hindi hiniling na Pong ay pinapayagan ngunit hindi humihingi ng pagpapatunay; ang ipadala ito pagkatapos ng bawat mensahe ng datos ay nagbibigay ng ibang ebidensya.
Mas mainam na gamitin ang mekanismong heartbeat na sinusuportahan ng library. Ang JavaScript sa browser ay nangangailangan ngkontrata ng heartbeat ng aplikasyonsa halip. Pumili ng mga agwat at hangganan ng pagkabigo ayon sa karga at patakaran ng network. Ang mga paghinto sa pag-iskedyul o overload na event loop ay maaaring makalampas ng agresibong hangganan nang hindi napatunayan na nabigo ang network.
Panatilihing tumatakbo ang tagatanggap
Kailangan ng kliyente ng tuloy-tuloy na I/O upang tumanggap at magproseso ng control frames. Ang harangin ang mekanismong iyon ay maaaring gawing parang pagkawala ng serbisyo ang lokal na kakulangan sa mapagkukunan.
Ang Ping ay lumilikha ng trapiko sa tunnel, ngunit bawat tagapamagitan ay nagpapasya kung ano ang tumutugon sa patakaran nitong idle. Walang heartbeat ang gumagarantiya ng proteksyon mula sa ganap na hangganan ng tagal ng koneksyon.
Ang kapares ay maaaring sumagot sa Ping habang ang aplikasyon nito ay humihinto sa paggawa ng mga update, at ang tahimik na subscription ay maaaring malusog. Subaybayan nang hiwalay ang huling wastong Pong at makabuluhang kaganapan ng aplikasyon kapag pareho silang mahalaga. Sa pagkabigo, itago ang ruta, mga lumipas na oras at nakabinbing pagsusuri, pagkatapos ay isara o ibalik sa pamamagitan ng sinusuportahang lifecycle.