Živ TCP socket, WebSocket sagovornik koji odgovara i koristan napredak aplikacije tri su različita zapažanja:

DokazŠta utvrđuje
Živost na TCP nivouProvjerena transportna putanja odgovara na tom nivou
Odgovarajući WebSocket PongSagovornik je odgovorio na taj kontrolni okvir
Potvrda aplikacijeAplikacija je potvrdila operaciju po svom protokolu

Prednji proxy obično održava odvojene veze prema klijentu i prema odredištu. TCP sagovornik klijenta je proxy, dok Ping unutar uspostavljenog tunela putuje do WebSocket odredišta.

Odgovarajući Pong

Protokol zahtijeva da Pong koji odgovara nosi aplikacijske podatke Pinga. Iskoristite tu podudarnost da prepoznate provjeru na čekanju. Nezatraženi Pong je dopušten, ali ne traži potvrdu; slanje jednog nakon svake podatkovne poruke daje drugačiji dokaz.

Preferirajte bibliotečki podržan mehanizam otkucaja srca. JavaScript u pregledniku umjesto toga treba ugovor o otkucaju srca na nivou aplikacije. Odaberite intervale i pragove neuspjeha prema opterećenju i mrežnoj politici. Pauze u raspoređivanju ili preopterećena petlja događaja mogu propustiti agresivan prag, a da ne dokažu neuspjeh mreže.

Držite prijemnik aktivnim

Klijentu je potreban stalni ulaz-izlaz da prima i obrađuje kontrolne okvire. Blokiranje tog mehanizma može lokalnu nestašicu učiniti sličnom prekidu.

Ping stvara tunelski saobraćaj, ali svaki posrednik sam odlučuje šta zadovoljava njegovu politiku mirovanja. Nijedan otkucaj srca ne garantuje zaštitu od apsolutnog ograničenja trajanja veze.

Sagovornik može odgovarati na Ping i kada njegova aplikacija prestane proizvoditi ažuriranja, a tiha pretplata može biti zdrava. Pratite posljednji valjani Pong i značajan aplikacijski događaj odvojeno kada su oba važna. Pri neuspjehu sačuvajte rutu, protekla vremena i provjeru na čekanju, pa zatvorite ili oporavite kroz podržani životni ciklus.

Povezani članci