如何为每个页面生成一个随机数字?

我使用node.js和expression,我想在app.js中生成一个随机的五位数字,并将其返回给客户端。

我想在服务器上而不是客户端上执行此操作,因为我想确保当前连接的每个用户的号码都不相同

这是我从app.js目前(破碎)的代码:

// My first attempt - a function to generate a random number. // But this returns the same number to every client. function genRandNum() { return Math.floor(Math.random() * 90000) + 10000; } // Routes app.get('/', function(req, res){ res.render('index', { title: 'Hello world', random_id: genRandNum() // No good - not different for each user. }); }); 

其实有两个问题:

  1. 我怎样才能为每个客户端生成一个号码?
  2. 我怎么能确定每个客户的号码是不同的? 我是否需要创build一个当前打开的会话及其号码的Redis存储?

感谢您帮助初学者:)

       

网上收集的解决方案 "如何为每个页面生成一个随机数字?"

你的代码适合我,用index.jade:

 h1 #{random_id} 

然而,正如所写,它会为每个页面生成一个随机数,而不仅仅是每个客户端。 某种后备数据存储将需要永久保证每个客户端都有一个唯一的#,但由于您只使用5位数字(90K可能的ID),您显然不关心这是无法猜测的。 如果你只关心这个在单个节点进程的情况下,为什么不只是使用自动递增值?

 var clientId = 1; app.get('/', function(req, res){ res.render('index', { title: 'Hello world', random_id: clientId++ }); }); 

对于唯一的随机数字,你也可以从你的用户的帮助..他可以input一些随机键击,然后你可以修改它们/添加/减去一些东西,并发送到服务器