WebSocket是一种在单个TCP连接上进行全双工通信的协议。在Node.js中,可以使用ws模块来实现WebSocket。
以下是使用WebSocket进行通信的示例:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
在这个示例中,我们创建了一个WebSocket服务器,并在客户端连接到服务器时发送一条消息。当客户端发送消息时,服务器将它打印到控制台上。
要实现服务端推送,我们可以使用定时器定期向客户端发送消息。以下是一个简单的示例:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
const interval = setInterval(function ping() {
ws.send('ping', function() { });
}, 5000);
ws.on('close', function close() {
clearInterval(interval);
});
});
在这个示例中,我们使用setInterval定期向客户端发送消息。当客户端关闭连接时,我们清除定时器。