node.js实现在线服务器端统计在线人数
时间: 2023-07-13 07:37:42 浏览: 95
在node.js中,可以使用WebSocket或者Socket.io等库来实现在线服务器端统计在线人数。以下是使用Socket.io实现的一个示例:
1. 安装Socket.io库
在命令行中执行以下命令:
```
npm install socket.io
```
2. 创建服务器
创建一个JavaScript文件,在其中引入Socket.io库并创建服务器:
```javascript
const io = require('socket.io')(3000);
io.on('connection', (socket) => {
console.log('a user connected');
// 当有用户连接时,将其加入在线用户列表
let onlineUsers = io.engine.clientsCount;
// 发送在线用户数量给所有客户端
io.emit('online users', onlineUsers);
socket.on('disconnect', () => {
console.log('user disconnected');
// 当有用户退出时,将其从在线用户列表中移除
let onlineUsers = io.engine.clientsCount;
// 发送在线用户数量给所有客户端
io.emit('online users', onlineUsers);
});
});
```
3. 在客户端连接服务器
在客户端JavaScript文件中,使用Socket.io连接服务器,并监听服务器发送的在线用户数量:
```javascript
const socket = io.connect('http://localhost:3000');
socket.on('online users', (onlineUsers) => {
console.log(`There are ${onlineUsers} users online`);
});
```
在客户端中,每当有用户连接或退出时,都会接收到服务器发送的在线用户数量并进行展示。
以上是使用Socket.io实现的在线服务器端统计在线人数的示例。