跳至主要內容

socket心跳检测

程序员王天大约 1 分钟

以下是一个简单的示例代码,用于在前后端之间进行基本的心跳检测。
前端代码(使用 JavaScript):

// 创建WebSocket连接
const socket = new WebSocket("ws://localhost:8000");

// 定时发送心跳消息
setInterval(() => {
  if (socket.readyState === WebSocket.OPEN) {
    socket.send("heartbeat");
  }
}, 5000);

// 监听服务器发送的消息
socket.onmessage = function (event) {
  // 处理服务器返回的消息
  console.log("Received message from server:", event.data);
};

// 检测WebSocket连接状态
socket.onclose = function () {
  console.log("Socket connection closed");
};

socket.onerror = function (error) {
  console.error("Socket error:", error);
};

后端代码(使用 Node.js 和 WebSockets 库):

const WebSocket = require("ws");

// 创建WebSocket服务器
const wss = new WebSocket.Server({ port: 8000 });

// 监听WebSocket连接事件
wss.on("connection", function connection(ws) {
  console.log("New client connected");

  // 监听客户端发送的消息
  ws.on("message", function (message) {
    // 处理客户端发送的消息
    console.log("Received message from client:", message);

    // 回复心跳消息
    if (message === "heartbeat") {
      ws.send("heartbeat");
    }
  });

  // 监听WebSocket关闭事件
  ws.on("close", function () {
    console.log("Client disconnected");
  });

  // 监听WebSocket错误事件
  ws.on("error", function (error) {
    console.error("WebSocket error:", error);
  });
});

这个示例使用了 WebSocket 进行通信,并通过定时发送心跳消息来检测连接是否正常。

前端代码创建了一个 WebSocket 连接,并每隔 5 秒发送一条心跳消息。后端代码创建了一个 WebSocket 服务器,监听客户端连接事件,并处理客户端发送的消息,如果收到心跳消息,就回复心跳消息。

读者朋友好呀,我是王天~ 😊

尝试做过很多事情,半路出道的野生程序员、前端讲师、新手作者,最终还是喜欢写代码、乐于用文字记录热衷分享~

如文章有错误或者不严谨的地方,期待给于指正,万分感谢。🙇‍

如果喜欢或者 有所启发,欢迎 star,对作者也是一种鼓励👏

微信:「wangtian3111」,加我进王天唯一的读者群。

个人博客:https://itwangtian.com