ब्राउझरच्या WebSocket API मध्ये send() आहे. JavaScript ला प्रोटोकॉलच्या Ping फ्रेम पाठवण्यासाठी ते सामान्य ping() पद्धत उघड करत नाही.

तुमचे अनुप्रयोग {"type":"heartbeat"} सारखा मजकूर संदेश पाठवत असेल, तर तो अनुप्रयोग डेटा आहे. सर्व्हरने संदेश समजून घेतला पाहिजे आणि प्रतिसाद ठरवला पाहिजे. जो सर्व्हर हा करार अंमलात आणत नाही, त्याला केवळ मजकुरात ping शब्द आहे म्हणून प्रोटोकॉल Pong ने उत्तर देणे बंधनकारक नाही.

पोचपावतीचा अर्थ काय, ती प्रलंबित हार्टबीट कशी ओळखते आणि जुनी पोचपावती कधी खूप उशिरा येते हे ठरवा. ती व्यावसायिक क्रियेच्या पोचपावतीपासून वेगळी ठेवा.

JavaScript टाइमरलाही नियोजनाच्या मर्यादा असतात. पार्श्वभूमीतल्या टॅब आणि व्यस्त मुख्य थ्रेड कॉलबॅक उशिरा करू शकतात. चुकलेली अचूक टाइमर मर्यादा प्रॉक्सीने पुढे पाठवणे थांबवले याचा निर्णायक पुरावा मानू नका.

ब्राउझर प्रोटोकॉलच्या नियंत्रण फ्रेम आंतरिकरित्या हाताळू शकतो, पण त्यामुळे अनुप्रयोग कोडला प्रत्येक Ping किंवा Pong चे वाहण्यायोग्य दृश्य मिळत नाही. पानाला स्वतःचा जिवंतपणाचा निर्णय हवा असेल, तर स्पष्ट अनुप्रयोग करार आणि पुनर्प्राप्ती धोरण वापरा.

ज्या सॉकेटचा readyState OPEN आहे तो स्थानिकरित्या उघडा मानला जातो; दूरच्या अनुप्रयोगाने तुमचा शेवटचा संदेश प्रक्रिया केला याचे ते स्वतंत्र मापन नाही. तुम्हाला खरोखर उत्तर द्यायच्या प्रश्नाशी जुळणारे पुरावे वापरा.

संबंधित लेख