Pārlūka WebSocket API ir send(). Tas nepiedāvā vispārīgu ping() metodi, ar ko JavaScript varētu sūtīt protokola Ping kadrus.

Ja jūsu lietojumprogramma sūta teksta ziņojumu, piemēram, {"type":"heartbeat"}, tie ir lietojumprogrammas dati. Serverim ziņojums ir jāsaprot un jādefinē atbilde. Serveris, kas neievieš šo līgumu, nav pienākums atbildēt ar protokola Pong tikai tāpēc, ka tekstā ir vārds ping.

Definējiet, ko nozīmē apstiprinājums, kā tas identificē gaidošo sirds sitienu un kad vecs apstiprinājums ir par vēlu. Turiet to atsevišķi no biznesa darbības apstiprinājuma.

JavaScript taimerim arī ir plānošanas ierobežojumi. Fona cilnes un aizņemti galvenie pavedieni var aizkavēt atzvanus. Neuzskatiet nokavētu precīzu taimera robežu par izšķirošu pierādījumu, ka starpniekserveris pārstāja pārstūt.

Pārlūks var iekšēji apstrādāt protokola vadības kadrus, taču tas nedod lietojumprogrammas kodam pārnesamu skatu uz katru Ping vai Pong. Ja lapai nepieciešams savs dzīvotspējas lēmums, izmantojiet skaidru lietojumprogrammas līgumu un atjaunošanas politiku.

Ligzda, kuras readyState ir OPEN, lokāli tiek uzskatīta par atvērtu; tas nav neatkarīgs mērījums, ka attālā lietojumprogramma apstrādāja jūsu pēdējo ziņojumu. Izmantojiet pierādījumus, kas atbilst jautājumam, uz kuru jums patiešām jāatbild.

Saistītie raksti