API WebSocket di browser memiliki send(). API ini tidak menyediakan metode ping() umum bagi JavaScript untuk mengirim frame Ping protokol.

Jika aplikasi Anda mengirim pesan teks seperti {"type":"heartbeat"}, itu adalah data aplikasi. Server harus memahami pesan tersebut dan menetapkan respons. Server yang tidak menerapkan kontrak itu tidak wajib membalas dengan Pong protokol hanya karena teksnya memuat kata ping.

Tetapkan apa arti konfirmasi, bagaimana konfirmasi mengenali detak jantung yang masih tertunda, dan kapan konfirmasi lama sudah terlambat. Jaga hal ini terpisah dari konfirmasi operasi bisnis.

Timer JavaScript juga memiliki batasan penjadwalan. Tab latar belakang dan thread utama yang sibuk dapat menunda callback. Jangan menafsirkan batas timer tepat yang terlewat sebagai bukti pasti bahwa proxy berhenti meneruskan.

Browser dapat menangani frame kendali protokol secara internal, tetapi itu tidak memberi kode aplikasi pandangan portabel atas setiap Ping atau Pong. Jika halaman memerlukan keputusan keaktifan sendiri, gunakan kontrak aplikasi yang eksplisit dan kebijakan pemulihan.

Socket yang readyState-nya OPEN dianggap terbuka secara lokal; itu bukan pengukuran independen bahwa aplikasi jauh telah memproses pesan terakhir Anda. Gunakan bukti yang sesuai dengan pertanyaan yang benar-benar perlu Anda jawab.

Artikel terkait