Браузердин WebSocket API синде send() бар. Ал JavaScript протоколдун Ping кадрларын жөнөтүшү үчүн жалпы ping() ыкмасын сунуштабайт.

Эгер колдонмоңуз {"type":"heartbeat"} сыяктуу тексттик билдирүү жөнөтсө, бул колдонмо маалыматы. Сервер билдирүүнү түшүнүп, жоопту аныкташы керек. Бул келишимди аткарбаган сервер текстте ping сөзү бар деп гана протоколдук Pong менен жооп берүүгө милдеттүү эмес.

Ырастоонун эмнени билдирерин, ал күтүп турган жүрөк кагышын кантип аныктаарын жана эски ырастоо качан өтө кеч келерин аныктаңыз. Аны ишкердик операцияны ырастоодон өзүнчө кармаңыз.

JavaScript таймеринин да пландоо чектөөлөрү бар. Фондук өтмөктөр жана бош эмес негизги агымдар чакырууларды кечиктириши мүмкүн. Өткөрүп жиберилген так таймер чегин прокси жөнөтүүнү токтотту деген чечкиндүү далил катары чечмелебеңиз.

Браузер протоколдун башкаруу кадрларын ички түрдө иштете алат, бирок бул колдонмо кодго ар бир Ping же Pong үчүн өткөрмө көрүнүш бербейт. Эгер баракчага өзүнүн жашоо чечими керек болсо, ачык колдонмо келишими жана калыбына келтирүү саясатын колдонуңуз.

readyState OPEN болгон сокет жергиликтүү түрдө ачык деп эсептелет; бул алыскы колдонмо акыркы билдирүүңүздү иштеп чыкканынын көз карандысыз өлчөмү эмес. Чынында жооп беришиңиз керек болгон суроого туура келген далилдерди колдонуңуз.

Тектеш макалалар