WebSocket Ping kundrejt TCP Keepalive përmes një proxy
Zgjidhni një kontroll gjallërie për partnerin WebSocket në vend që ta trajtoni një socket TCP të gjallë si provë se rruga e aplikacionit po përgjigjet.
Një socket TCP i gjallë, një partner WebSocket që përgjigjet dhe përparim i dobishëm i aplikacionit janë vëzhgime të ndryshme:
| Prova | Çfarë vërteton |
|---|---|
| Gjallëria në nivelin TCP | Rruga e transportit e kontrolluar përgjigjet në atë nivel |
| Një WebSocket Pong që përputhet | Partneri u përgjigj atij kuadri kontrolli |
| Një konfirmim i aplikacionit | Aplikacioni konfirmoi një operacion sipas protokollit të vet |
Një proxy përpara zakonisht mban lidhje të veçanta për klientin dhe destinacionin. Partneri TCP i klientit është proxy-i, ndërsa një Ping brenda një tuneli të vendosur udhëton drejt pikës fundore WebSocket.
Një Pong që përputhet
Protokolli kërkon që një Pong që përgjigjet të mbajë të dhënat e aplikacionit të Ping. Përdorni atë përputhje për të identifikuar një provë në pritje. Një Pong i pa kërkuar lejohet, por nuk kërkon konfirmim; dërgimi i tij pas çdo mesazhi me të dhëna siguron prova të ndryshme.
Preferoni mekanizmin e rrahjes së zemrës që mbështet biblioteka. JavaScript i shfletuesit ka nevojë për njëkontratë rrahjeje zemre të aplikacionit. Zgjidhni intervalet dhe pragjet e dështimit sipas ngarkesës dhe politikës së rrjetit. Pauzat e planifikimit ose një cikli i ngjarjeve i mbingarkuar mund të humbin një prag agresiv pa vërtetuar se rrjeti dështoi.
Mbajeni marrësin duke punuar
Klienti ka nevojë për I/O të vazhdueshme për të marrë dhe përpunuar kuadrot e kontrollit. Bllokimi i atij mekanizmi mund ta bëjë mungesën lokale të burimeve të duket si ndërprerje.
Ping krijon trafik në tunel, por çdo ndërmjetës vendos vetë se çfarë plotëson politikën e tij të papunësisë. Asnjë rrahje zemre nuk garanton mbrojtje nga një kufi absolut i jetëgjatësisë së lidhjes.
Një partner mund t'i përgjigjet Ping ndërsa aplikacioni i tij ndalon së prodhuari përditësime, dhe një abonim i qetë mund të jetë i shëndetshëm. Ndiqni veçmas Pong-in e fundit të vlefshëm dhe ngjarjen kuptimplote të aplikacionit kur të dyja kanë rëndësi. Në rast dështimi, mbani rutën, kohët e kaluara dhe provën në pritje, pastaj mbyllni ose rikuperoni përmes ciklit të jetës së mbështetur.