Node.js WebSocket:实时双向通信
使用 ws 库实现 WebSocket 服务器与客户端实时交互。 · 难度:入门 · +15XP
WebSocket 概述
WebSocket 提供全双工通信通道,允许服务器主动向客户端推送数据,非常适合聊天应用、实时通知、在线游戏等场景。
服务器端实现
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
ws.on('message', (message) => {
console.log('收到:', message);
// 广播给所有客户端
wss.clients.forEach((client) => {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
ws.send('欢迎连接!');
});
客户端连接
const socket = new WebSocket('ws://localhost:8080');
socket.onmessage = (event) => console.log('收到:', event.data);
socket.send('Hello!');练习提示
完善下方服务器代码,添加连接计数功能。