Brauzerin WebSocket API-sində send() var. O, JavaScript-ə protokol Ping çərçivələri göndərmək üçün ümumi ping() metodu təqdim etmir.

Tətbiqiniz {"type":"heartbeat"} kimi mətn mesajı göndərirsə, bu tətbiq məlumatıdır. Server mesajı anlamalı və cavabı müəyyən etməlidir. Bu müqaviləni həyata keçirməyən server yalnız mətndə ping sözü olduğu üçün protokol Pong ilə cavab verməyə borclu deyil.

Təsdiqin nə demək olduğunu, gözləyən ürək döyüntüsünü necə müəyyən etdiyini və köhnə təsdiqin nə vaxt gecikdiyini müəyyən edin. Bunu biznes əməliyyatının təsdiqindən ayrı saxlayın.

JavaScript taymerinin də planlaşdırma məhdudiyyətləri var. Arxa plandakı tablar və məşğul əsas axınlar geri çağırışları gecikdirə bilər. Buraxılmış dəqiq taymer sərhədini proksinin ötürməni dayandırdığına dair qəti sübut kimi şərh etməyin.

Brauzer protokol nəzarət çərçivələrini daxilən idarə edə bilər, lakin bu, tətbiq koduna hər Ping və ya Pong-un daşınan görünüşünü vermir. Səhifə öz canlılıq qərarına ehtiyac duyursa, açıq tətbiq müqaviləsi və bərpa siyasəti istifadə edin.

readyState dəyəri OPEN olan soket yerli olaraq açıq sayılır; bu, uzaq tətbiqin son mesajınızı emal etdiyinə dair müstəqil ölçmə deyil. Həqiqətən cavablandırmalı olduğunuz suala uyğun sübutlardan istifadə edin.

Əlaqəli məqalələr