node使用websocket案例
时间: 2023-11-04 10:08:32 浏览: 103
下面是一个使用 Node.js 和 WebSocket 实现简单聊天室的案例:
1. 首先安装 `ws` 模块:
```
npm install ws
```
2. 创建一个 `server.js` 文件,引入 `ws` 模块,并创建 WebSocket 服务器:
```javascript
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('Client connected');
ws.on('message', function incoming(message) {
console.log('Received: %s', message);
// 广播收到的消息给所有客户端
wss.clients.forEach(function each(client) {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
ws.on('close', function close() {
console.log('Client disconnected');
});
});
```
3. 运行 `server.js` 文件:
```
node server.js
```
4. 在浏览器中打开 `index.html` 文件,使用 WebSocket 连接到服务器:
```javascript
const socket = new WebSocket('ws://localhost:8080');
socket.onopen = function() {
console.log('Connected to server');
};
socket.onmessage = function(event) {
console.log('Received: ' + event.data);
};
socket.onclose = function(event) {
console.log('Disconnected from server');
};
```
5. 发送消息到服务器:
```javascript
socket.send('Hello, server!');
```
6. 服务器收到消息后,广播给所有连接的客户端。
这样就完成了一个简单的 WebSocket 聊天室。
阅读全文