TCP socket ที่ยังทำงานอยู่ คู่ WebSocket ที่ตอบสนอง และความคืบหน้าของแอปพลิเคชันที่เป็นประโยชน์ เป็นการสังเกตที่แตกต่างกัน:

หลักฐานสิ่งที่มันยืนยัน
ความมีชีวิตในระดับ TCPเส้นทางขนส่งที่ตรวจสอบตอบสนองในระดับนั้น
WebSocket Pong ที่ตรงกันคู่ตอบเฟรมควบคุมนั้น
การยืนยันจากแอปพลิเคชันแอปพลิเคชันยืนยันการดำเนินการภายใต้โปรโตคอลของตนเอง

พร็อกซีแบบส่งต่อมักรักษาการเชื่อมต่อแยกสำหรับไคลเอนต์และปลายทาง คู่ TCP ของไคลเอนต์คือพร็อกซี ขณะที่ Ping ภายในอุโมงค์ที่สร้างแล้วจะเดินทางไปยังปลายทาง WebSocket

Pong ที่ตรงกัน

โปรโตคอลกำหนดให้ Pong ที่ตอบกลับต้องมีข้อมูลแอปพลิเคชันของ Ping ใช้ความสอดคล้องนั้นเพื่อระบุการตรวจสอบที่ค้างอยู่ Pong ที่ไม่ได้ร้องขอได้รับอนุญาตแต่ไม่ขอการยืนยัน การส่งหลังจากข้อความข้อมูลทุกครั้งให้หลักฐานที่แตกต่าง

ควรใช้กลไก heartbeat ที่ไลบรารีรองรับ JavaScript ในเบราว์เซอร์ต้องการสัญญา heartbeat ของแอปพลิเคชันแทน เลือกช่วงเวลาและเกณฑ์ความล้มเหลวให้เหมาะกับภาระงานและนโยบายเครือข่าย การหยุดชั่วคราวของการจัดตารางหรือ event loop ที่โอเวอร์โหลดอาจพลาดเกณฑ์ที่เข้มงวดโดยไม่ได้ยืนยันว่าเครือข่ายล้มเหลว

ให้ตัวรับทำงานอยู่

ไคลเอนต์ต้องการ I/O ต่อเนื่องเพื่อรับและประมวลผลเฟรมควบคุม การปิดกั้นกลไกนั้นอาจทำให้การขาดแคลนทรัพยากรภายในดูเหมือนการหยุดให้บริการ

Ping สร้างทราฟฟิกในอุโมงค์ แต่ตัวกลางแต่ละตัวตัดสินใจเองว่าสิ่งใดตอบสนองนโยบาย idle ของตน ไม่มี heartbeat ใดรับประกันการป้องกันจากขีดจำกัดอายุการเชื่อมต่อแบบสัมบูรณ์

คู่อาจตอบ Ping ขณะที่แอปพลิเคชันหยุดสร้างการอัปเดต และการสมัครรับที่เงียบอาจมีสุขภาพดี ติดตาม Pong ที่ถูกต้องครั้งล่าสุดและเหตุการณ์แอปพลิเคชันที่มีความหมายแยกจากกันเมื่อทั้งสองสำคัญ เมื่อล้มเหลว ให้เก็บเส้นทาง เวลาที่ผ่านไป และการตรวจสอบที่ค้างอยู่ แล้วปิดหรือกู้คืนผ่านวงจรชีวิตที่รองรับ

บทความที่เกี่ยวข้อง