心跳檢測和斷線重連可以通過WebSocket的事件和屬性來實現。以下是一個簡單的JavaScript示例,使用WebSocket API實現心跳檢測和斷線重連的功能:
let ws;function connectWebSocket() {ws = new WebSocket('ws://your-websocket-server-url');ws.onopen = function() {console.log('WebSocket connected');startHeartbeat();};ws.onerror = function() {console.log('WebSocket error');};ws.onclose = function() {console.log('WebSocket closed');setTimeout(function() {console.log('Attempting to reconnect...');connectWebSocket();}, 5000); // 5秒后嘗試重連};ws.onmessage = function(event) {// 處理服務器發送的消息};
}function startHeartbeat() {setInterval(function() {if (ws.readyState === WebSocket.OPEN) {// 發送心跳消息ws.send('Heartbeat');}}, 30000); // 每30秒發送一次心跳
}connectWebSocket(); // 初始化連接
在這個示例中,connectWebSocket
?函數用于創建WebSocket連接,并設置相關的事件處理函數。startHeartbeat
?函數用于開始定時發送心跳消息,以保持連接活躍。如果連接斷開,ws.onclose
?事件會被觸發,然后在5秒后嘗試重新連接。
請根據實際的服務器URL和消息處理邏輯進行相應的調整。