WebSocket 入门

98 阅读1分钟

WebSocket 为客户端和服务器端提供了全双工通信。

搭建简易的 WebSocket 服务器

ws npm 包几乎是 WebSocket 事实上的实现标准。下面代码基于 ws 实现了一个 WebSocket 服务器,对所有客户端响应 "Hello" 字符串。

const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 9527 });

server.on('connection', (socket) => {
    socket.on('message', (msg) => {
        console.log('received ', msg.toString());
        socket.send('Hello');
    });

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

编写客户端代码

const ws = new WebSocket('ws://localhost:9527');

ws.addEventListener('open', (e) => {
    console.log('open:', e);
    // 发送消息
    ws.send("Hello from client")
});

ws.addEventListener('message', (e) => {
    // 接收服务器端消息
    console.log('message:', e.data);
});

ws.addEventListener('error', (e) => {
    console.log('error:', e);
});

ws.addEventListener('close', (e) => {
    console.log('close:', e);
});

参考资料

  1. WebSockets in Node.js