mysql 监听网页在线人数
时间: 2023-10-23 17:09:46 浏览: 42
要监听网页在线人数,你需要在网页上添加一些代码,将在线用户的信息发送到后端服务器中。在后端服务器上,你可以使用 MySQL 数据库来存储在线用户的信息,并通过查询数据库来获取当前在线用户的数量。以下是一个简单的示例:
1. 在网页上添加 JavaScript 代码,用于向后端服务器发送在线用户的信息:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('GET', '/online?user_id=1234');
xhr.send();
```
2. 在后端服务器上,你需要编写一个路由处理程序,用于接收在线用户的信息并将其存储到 MySQL 数据库中。这里使用 Express 框架来处理路由:
```javascript
const express = require('express');
const mysql = require('mysql');
const app = express();
// 创建 MySQL 数据库连接池
const pool = mysql.createPool({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});
// 处理在线用户请求
app.get('/online', function(req, res) {
const user_id = req.query.user_id;
// 将在线用户信息插入到数据库中
pool.query('INSERT INTO online_users SET ?', {user_id: user_id}, function(err, results) {
if (err) throw err;
res.send('OK');
});
});
// 查询在线用户数量
app.get('/online_count', function(req, res) {
// 查询在线用户数量
pool.query('SELECT COUNT(*) as count FROM online_users', function(err, results) {
if (err) throw err;
const count = results[0].count;
res.send('当前在线用户数量为:' + count);
});
});
// 启动服务器
app.listen(3000, function() {
console.log('服务器已启动');
});
```
3. 在网页上添加代码,用于定时查询当前在线用户数量:
```javascript
setInterval(function() {
var xhr = new XMLHttpRequest();
xhr.open('GET', '/online_count');
xhr.onload = function() {
document.getElementById('online-count').innerText = xhr.responseText;
};
xhr.send();
}, 10000); // 每隔 10 秒钟查询一次
```
这样,你就可以通过 MySQL 数据库来监听网页在线人数了。当用户访问网页时,网页会向后端服务器发送在线用户信息,后端服务器会将这些信息存储到数据库中。当需要查询当前在线用户数量时,网页会向后端服务器发送请求,后端服务器会查询数据库并返回当前在线用户数量。