每次有人连接到服务器时增加计数器

伙计们我有下面的代码,它应该增加计数器,每次有人连接到服务器,并在控制台中发布消息,但只增加一次,你能帮我吗?

'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存储在一些像数据库或文本文件一样的持久性存储中,否则它将始终在每个请求上设置为零