nodejs websocket 实时通知订单示例
时间: 2023-04-04 12:03:13 浏览: 121
可以提供一个基于 Node.js 和 WebSocket 的实时通知订单示例。使用 WebSocket 可以实现服务器向客户端推送数据,从而实现实时通知的功能。以下是一个简单的示例代码:
```
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('Client connected');
// 模拟订单数据
const orders = [
{ id: 1, status: 'pending' },
{ id: 2, status: 'processing' },
{ id: 3, status: 'completed' }
];
// 定时向客户端推送订单数据
const interval = setInterval(() => {
const order = orders[Math.floor(Math.random() * orders.length)];
ws.send(JSON.stringify(order));
}, 5000);
ws.on('close', function close() {
console.log('Client disconnected');
clearInterval(interval);
});
});
```
在上面的示例中,我们创建了一个 WebSocket 服务器,并在客户端连接时向客户端推送订单数据。我们使用 `setInterval` 定时向客户端推送数据,模拟实时通知的功能。当客户端断开连接时,我们清除定时器,停止向客户端推送数据。
客户端可以使用 WebSocket API 连接到服务器,并监听 `message` 事件来接收服务器推送的数据。以下是一个简单的客户端示例代码:
```
const ws = new WebSocket('ws://localhost:8080');
ws.onmessage = function(event) {
const order = JSON.parse(event.data);
console.log('Received order:', order);
};
```
在上面的示例中,我们创建了一个 WebSocket 连接,并监听 `message` 事件来接收服务器推送的数据。当收到数据时,我们解析 JSON 数据,并打印出订单信息。
注意:以上示例仅供参考,实际应用中需要根据具体需求进行修改和优化。
阅读全文