每次有人连接到服务器时增加计数器
伙计们我有下面的代码,它应该增加计数器,每次有人连接到服务器,并在控制台中发布消息,但只增加一次,你能帮我吗?
'use strict' //Require express var express=require('express'); //Trigger express var app=express(); var counter=0; //Set up the route URL app.get('/', function(req, res){ res.send("<h1>You have connected</h1>"); }); //set up the port app.listen(3000,function(){ //increment counter counter+=1; console.log("you have connected " + counter + " times"); })
你需要把你的柜台移到响应中。
app.get('/', function(req, res){ counter++; res.send("<h1>You have connected "+counter+ " times </h1>"); });
这种方式每当页面加载它将增加,而不仅仅是当你启动它,并开始用app.listen()听。
- 监听callback仅在服务器开始监听时调用一次。
- 只要你的服务器是活着的,就不需要variables的持久化。
- 在app.get()块中放置计数器只能用于连接到路由“/”的客户端。
理想情况下,您需要将侦听器添加到服务器的“连接”事件(快速对象从HTTPinheritance,因此服务器有此事件),并在该处增加计数器:
app.on('connect', function() { counter++; });
锄头这有帮助。
那么你必须将计数器variables存储在一些像数据库或文本文件一样的持久性存储中,否则它将始终在每个请求上设置为零