Браузердің WebSocket API-інде send() бар. Ол JavaScript-ке протоколдың Ping кадрларын жіберу үшін жалпы ping() әдісін ұсынбайды.

Егер қосымшаңыз {"type":"heartbeat"} сияқты мәтіндік хабарлама жіберсе, бұл қосымша деректері. Сервер хабарламаны түсініп, жауапты анықтауға тиіс. Бұл шартты орындамайтын сервер мәтінде ping сөзі бар деп қана протоколдық Pong-пен жауап беруге міндетті емес.

Растаудың нені білдіретінін, ол күтіп тұрған жүрек соғысын қалай анықтайтынын және ескі растау қашан тым кеш келетінін айқындаңыз. Оны іскерлік операцияны растаудан бөлек ұстаңыз.

JavaScript таймерінің де жоспарлау шектеулері бар. Фондық қойындылар мен бос емес негізгі ағындар шақыруларды кешіктіруі мүмкін. Өткізіп алған дәл таймер шегін прокси жіберуді тоқтатты деген шешуші дәлел ретінде түсіндірмеңіз.

Браузер протоколдың басқару кадрларын іштей өңдей алады, бірақ бұл қосымша кодына әр Ping немесе Pong-ның тасымалданатын көрінісін бермейді. Егер бетке өзінің тіршілік шешімі қажет болса, айқын қосымша шарты мен қалпына келтіру саясатын қолданыңыз.

readyState мәні OPEN болатын сокет жергілікті түрде ашық деп саналады; бұл қашықтағы қосымша соңғы хабарламаңызды өңдеді деген тәуелсіз өлшем емес. Шынында жауап беруге тиіс сұраққа сай дәлелдерді қолданыңыз.

Қатысты мақалалар