WebSocket 提供了一种在单个 TCP 连接上进行全双工通讯的协议。Node.js 提供了强大的 WebSocket 支持,使得构建实时应用变得容易。

快速开始

要使用 WebSocket,你可以使用 ws 库。以下是一个简单的例子:

const WebSocket = require('ws');

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

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });

  ws.send('something');
});

服务器端

在上面的例子中,我们创建了一个 WebSocket 服务器,监听 8080 端口。每当有客户端连接时,我们都会打印出接收到的消息,并回复一个消息。

客户端

客户端可以使用任何支持 WebSocket 的库。以下是一个使用 JavaScript 的例子:

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

ws.onopen = function() {
  console.log('Connected to the server');
  ws.send('Hello, server!');
};

ws.onmessage = function(event) {
  console.log('Received message from server:', event.data);
};

ws.onclose = function() {
  console.log('Disconnected from the server');
};

资源

WebSocket 通信图解