WebSocket简单案例

526 阅读1分钟

序言:看了阮一峰老师的WebSocket教程,对WebSocket有了一定的理解,理论很重要,实践也不能少,所以在此记录WebSocket的简单使用案例。

WebSocket服务器代码(Node.js):

const WebSocket = require('ws');

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

// 监听连接事件
wss.on('connection', (ws) => {
  console.log('Client connected');

  // 监听消息事件
  ws.on('message', (message) => {
    console.log(`Received message: ${message}`);
    ws.send(`Server received: ${message}`);
  });

  // 监听断开连接事件
  ws.on('close', () => {
    console.log('Client disconnected');
  });
});

WebSocket客户端代码(浏览器中的JavaScript):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        const socket = new WebSocket('ws://localhost:8080');

        // 监听连接打开事件
        socket.addEventListener('open', (event) => {
            console.log('Connected to server');
        });

        // 监听消息事件
        socket.addEventListener('message', (event) => {
            console.log(`Received from server: ${event.data}`);
        });

        // 监听连接关闭事件
        socket.addEventListener('close', (event) => {
            console.log('Disconnected from server');
        });

        // 发送消息
        function sendMessage() {
            const message = prompt('Enter a message:');
            socket.send(message);
        }

    </script>
</body>
</html>

在这个示例中,WebSocket服务器使用Node.js的ws库来创建,并在连接、消息和关闭事件上进行了监听。WebSocket客户端则是在浏览器中运行的JavaScript代码,通过WebSocket连接到服务器,监听连接、消息和关闭事件,以及通过send方法发送消息。

需要注意的是,WebSocket客户端在浏览器环境中运行,所以不需要安装任何额外的库。WebSocket服务器使用了Node.js的ws库来简化WebSocket服务器的创建和管理。

运行方式

步骤 1:运行WebSocket服务器

node server.js

步骤 2:运行WebSocket客户端

通过浏览器打开client.html即可

步骤 3:测试

查看控制台打印,并且可以通过浏览器控制台调用sendMessage()方法向服务器发送消息。