- 引入相关模块:
在Node.js中,使用
ws
模块来实现WebSocket功能。首先需要安装ws
模块,如果是在项目目录下,通过npm install ws
进行安装。然后在代码中引入该模块:
const WebSocket = require('ws');
- 创建WebSocket服务器:
使用
WebSocket.Server
来创建一个WebSocket服务器实例,并指定服务器监听的端口。例如:
const wss = new WebSocket.Server({ port: 8080 });
- 处理连接:
通过监听
connection
事件来处理客户端的连接。当有客户端连接到服务器时,会触发该事件,回调函数中的ws
参数代表与该客户端建立的WebSocket连接。
wss.on('connection', function connection(ws) {
console.log('Client connected');
// 这里可以进行一些连接建立后的初始化操作
});
- 处理消息收发:
- 接收消息:监听连接
ws
的message
事件,当服务器接收到客户端发送的消息时会触发该事件,message
参数即为接收到的消息内容。
ws.on('message', function incoming(message) {
console.log('Received: %s', message);
// 可以在这里对消息进行处理,比如解析JSON等
});
- **发送消息**:使用连接`ws`的`send`方法向客户端发送消息。例如:
ws.send('Hello, client!');
- 处理连接关闭:
监听连接
ws
的close
事件,当客户端与服务器的连接关闭时会触发该事件。可以在回调函数中进行一些清理操作等。
ws.on('close', function close() {
console.log('Connection closed');
});