Một socket TCP còn sống, một đối tác WebSocket phản hồi và tiến trình ứng dụng hữu ích là những quan sát khác nhau:

Bằng chứngĐiều nó xác lập
Sự sống ở tầng TCPĐường truyền được kiểm tra phản hồi ở tầng đó
Một WebSocket Pong khớpĐối tác đã trả lời khung điều khiển đó
Một xác nhận từ ứng dụngỨng dụng đã xác nhận một thao tác theo giao thức của chính nó

Proxy chuyển tiếp thường duy trì các kết nối riêng cho máy khách và đích. Đối tác TCP của máy khách là proxy, trong khi một Ping bên trong đường hầm đã thiết lập sẽ đi tới điểm cuối WebSocket.

Một Pong khớp

Giao thức yêu cầu Pong phản hồi phải mang dữ liệu ứng dụng của Ping. Dùng sự tương ứng đó để nhận diện một phép dò còn treo. Pong không được yêu cầu vẫn được phép nhưng không đòi xác nhận; gửi nó sau mỗi thông điệp dữ liệu cung cấp bằng chứng khác.

Nên dùng cơ chế nhịp tim mà thư viện hỗ trợ. JavaScript trên trình duyệt cần mộthợp đồng nhịp tim của ứng dụngthay thế. Chọn khoảng thời gian và ngưỡng thất bại theo khối lượng công việc và chính sách mạng. Việc tạm dừng lập lịch hoặc vòng lặp sự kiện quá tải có thể bỏ lỡ một ngưỡng khắt khe mà không xác lập rằng mạng đã hỏng.

Giữ bộ nhận chạy

Máy khách cần I/O liên tục để nhận và xử lý các khung điều khiển. Chặn cơ chế đó có thể khiến tình trạng thiếu tài nguyên cục bộ trông như một sự cố.

Ping tạo lưu lượng trong đường hầm, nhưng mỗi trung gian tự quyết định điều gì thỏa mãn chính sách nhàn rỗi của nó. Không nhịp tim nào bảo đảm chống lại giới hạn tuyệt đối về thời gian sống của kết nối.

Đối tác có thể trả lời Ping trong khi ứng dụng của nó ngừng tạo cập nhật, và một đăng ký im lặng có thể vẫn khỏe mạnh. Theo dõi riêng Pong hợp lệ cuối cùng và sự kiện ứng dụng có ý nghĩa khi cả hai đều quan trọng. Khi thất bại, giữ lại tuyến, thời gian đã trôi qua và phép dò còn treo, rồi đóng hoặc phục hồi qua vòng đời được hỗ trợ.

Bài viết liên quan