使用websocket实现心跳检测代码
时间: 2023-09-01 13:07:42 浏览: 47
以下是使用 WebSocket 实现心跳检测的示例代码:
```javascript
const socket = new WebSocket('ws://localhost:8080');
// 发送心跳包
function sendHeartbeat() {
if (socket.readyState === WebSocket.OPEN) {
socket.send(JSON.stringify({ type: 'heartbeat' }));
}
}
// 开始心跳检测
function startHeartbeat() {
setInterval(sendHeartbeat, 30000); // 每隔30秒发送一次心跳包
}
socket.addEventListener('open', (event) => {
console.log('WebSocket连接已打开');
startHeartbeat(); // WebSocket连接建立后开始心跳检测
});
socket.addEventListener('message', (event) => {
const message = JSON.parse(event.data);
if (message.type === 'heartbeat') {
console.log('收到心跳包');
} else {
console.log('收到其他消息');
}
});
socket.addEventListener('close', (event) => {
console.log('WebSocket连接已关闭');
});
socket.addEventListener('error', (event) => {
console.error('WebSocket连接出错', event);
});
```
在上面的代码中,我们使用 `setInterval` 函数定时发送心跳包。当 WebSocket 连接建立时,我们调用 `startHeartbeat` 函数开始心跳检测。当收到服务器返回的心跳包时,我们在控制台输出一条消息。当 WebSocket 连接关闭或出错时,我们也在控制台输出相应的消息。
相关推荐
![html](https://img-home.csdnimg.cn/images/20210720083451.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)