node服务器向客户端推送消息
时间: 2023-11-04 16:12:15 浏览: 87
Node服务器可以使用WebSocket协议向客户端推送消息。WebSocket是一种全双工通信协议,可以在客户端和服务器之间建立一个持久的连接,实现实时通信。
以下是一个使用WebSocket实现向客户端推送消息的例子:
1.安装WebSocket模块
```javascript
npm install ws
```
2.在Node服务器端启动WebSocket服务
```javascript
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('client connected');
// 发送消息给客户端
ws.send('hello client');
// 监听客户端发送的消息
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
});
```
3.在客户端连接WebSocket服务
```javascript
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = function() {
console.log('connected to server');
};
ws.onmessage = function(event) {
console.log('received message:', event.data);
};
ws.send('hello server');
```
在客户端连接成功后,可以接收到服务器发送的消息。客户端也可以向服务器发送消息,服务器可以通过监听`message`事件接收到消息。当服务器需要向所有客户端推送消息时,可以使用`wss.clients.forEach`方法遍历所有连接的客户端,调用`send`方法发送消息。
阅读全文