我開發了一個網頁,用於我公司的一些服務的內部監控。我們希望記錄頁面上的點擊次數並實時顯示。我已經通過了問題:計算我的網頁點擊次數
Determine how many times webpage has been accessed
How can I count the number of the visitors on my website using JavaScript?
但我不能使用谷歌分析和其他類似工具。我希望可以在nodejs中完成。問題是,如果我做這樣的事情的NodeJS服務器上:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var request = require('request');
var cfenv = require('cfenv');
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.json());
var userCount = 0;
app.post('/counterIncrement', function(req, res){
console.log("I received a request to refresh the counter");
userCount = userCount + 1;
res.json({countNum: userCount});
});
var router1 = require('./public/routes/Route1');
router1(app);
var router2 = require('./public/routes/Route2');
router2(app);
var router3 = require('./public/routes/Route3');
router3(app);
var appEnv = cfenv.getAppEnv();
app.listen(appEnv.port, appEnv.bind, function() {
console.log("server starting on " + appEnv.url);
});
而且每次有人訪問我們的網頁,我們從控制器發送請求到服務器,以增加計數器。當多人同時訪問網頁時,這不會造成競爭狀況嗎?有其他可能的方式嗎?
我們也看了一下cookie,但是即使當同一用戶再次訪問時,我們也想增加計數器,即使可能,我也無法理解競爭條件如何避免?
插入用戶IP地址或計算機的MAC ID,當你需要count.Count這些插入的記錄。插入MAC ID U也可以計算您的網站上的唯一訪問者 –
[請不要把標籤問題標題]( https://stackoverflow.com/help/tagging) – Liam