Node.js 实现跨域 WebSocket 访问示例

本文将提供一个完整的 Node.js WebSocket 服务器和客户端代码示例,演示如何实现跨域 WebSocket 访问,并包含客户端接收消息的示例。

服务端代码

const WebSocket = require('ws');

const server = new WebSocket.Server({ port: 8080 });

server.on('connection', (socket) => {
  console.log('Client connected');

  socket.on('message', (message) => {
    console.log(`Received message: ${message}`);

    // Echo the message back to the client
    socket.send(`You said: ${message}`);
  });

  socket.on('close', () => {
    console.log('Client disconnected');
  });
});

console.log('WebSocket server started');

客户端代码

<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8'>
  <title>WebSocket client</title>
</head>
<body>
  <script>
    const socket = new WebSocket('ws://localhost:8080');

    socket.addEventListener('open', (event) => {
      console.log('Connected to WebSocket server');

      // Send a message to the server
      socket.send('Hello, server!');
    });

    socket.addEventListener('message', (event) => {
      console.log(`Received message: ${event.data}`);
    });

    socket.addEventListener('close', (event) => {
      console.log('Disconnected from WebSocket server');
    });
  </script>
</body>
</html>

注意: 上述代码示例中,客户端和服务器运行在同一个域名下。如果需要跨域访问,需要在服务器端配置 CORS 允许来自特定域名的请求。

Node.js 实现跨域 WebSocket 访问示例

原文地址: https://www.cveoy.top/t/topic/mC7P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录