使用 Node.js 创建一个 WebSocket 服务器相对简单。你可以使用 ws
库,这是一个流行的 WebSocket 实现。以下是一个基本的步骤来创建一个 WebSocket 服务器:
1.初始化 Node.js 项目:
首先,你需要一个 Node.js 项目。如果你还没有项目,可以创建一个新的目录并初始化一个新的 Node.js 项目。
//cmd
mkdir websocket-server //创建websocket-server文件夹
cd websocket-server //进入websocket-server文件夹
npm init -y
2.安装 ws
库:
使用 npm 安装 ws
库。
//cmd
npm install ws //在websocket-server项目中安装ws
3.创建 WebSocket 服务器:
在项目目录中创建一个名为 server.js
的文件,并添加以下代码来创建一个 WebSocket 服务器。
//javascript
const WebSocket = require('ws');
// 创建一个 WebSocket 服务器实例,监听在 8080 端口
const wss = new WebSocket.Server({ port: 8080 });
// 当有新客户端连接时触发 connection 事件
wss.on('connection', (ws) => {
console.log('新客户端已连接');
// 接收客户端消息
ws.on('message', (message) => {
console.log(`收到消息: ${message}`);
// 向客户端发送消息
ws.send(`服务器已收到消息: ${message}`);
});
// 处理客户端断开连接
ws.on('close', () => {
console.log('客户端已断开连接');
});
// 处理错误
ws.on('error', (error) => {
console.error(`WebSocket 错误: ${error}`);
});
});
console.log('WebSocket 服务器正在运行在 ws://localhost:8080');
4.运行服务器:
在终端中运行以下命令来启动 WebSocket 服务器。
//cmd
node server.js
5.测试 WebSocket 服务器:
你可以使用浏览器控制台或另一个 WebSocket 客户端(如 websocat
或 wscat
)来测试 WebSocket 服务器。
在浏览器中:打开你的浏览器控制台,然后运行以下代码:
//javascript
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = () => {
console.log('连接到服务器');
ws.send('Hello, WebSocket!');
};
ws.onmessage = (event) => {
console.log(`收到服务器的消息: ${event.data}`);
};
ws.onclose = () => {
console.log('与服务器断开连接');
};
ws.onerror = (error) => {
console.error(`WebSocket 错误: ${error}`);
};
你应该会看到浏览器控制台中的日志,显示与 WebSocket 服务器的连接、发送和接收消息。
通过以上步骤,你就成功创建了一个简单的 WebSocket 服务器,并可以通过客户端与其进行通信。