websocket聊天室node
时间: 2023-08-27 13:14:03 浏览: 180
WebSocket 聊天室是一个基于 WebSocket 技术实现的即时通讯系统。在 Node.js 中,可以使用一些库来构建 WebSocket 聊天室,比如 `ws`、`socket.io` 等。
以下是一个使用 `ws` 库实现的简单示例:
```javascript
// 引入 ws 库
const WebSocket = require('ws');
// 创建 WebSocket 服务器
const wss = new WebSocket.Server({ port: 8080 });
// 存储连接的客户端
const clients = new Set();
// 监听连接事件
wss.on('connection', (ws) => {
// 将新连接的客户端添加到集合中
clients.add(ws);
// 监听消息事件
ws.on('message', (message) => {
// 广播消息给所有客户端
clients.forEach((client) => {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
// 监听断开连接事件
ws.on('close', () => {
// 将断开连接的客户端从集合中移除
clients.delete(ws); });
});
console.log('WebSocket server is running on port 8080');
```
上述代码创建了一个 WebSocket 服务器,并监听客户端的连接、消息和断开连接事件。当有客户端发送消息时,服务器会将消息广播给所有连接的客户端。
注意:此示例仅为演示目的,并没有处理认证、房间管理等复杂逻辑。在实际应用中,你可能需要根据具体需求进行扩展和优化。
希望这能帮到你!如果你还有其他问题,请随时提问。
阅读全文