使节点js - 表达应用程序支持多个用户

时间:2018-01-30 03:59:25

标签: javascript jquery node.js twitter-bootstrap express

我在下面的堆栈中创建了一个刽子手游戏 用于前端的bootstrap,jQuery和JavaScript Express和Node.js用于后端。

以下是示例代码:

var deepSearch = function(value) {
  this.value = value;
  this.children = [];

};

deepSearch.prototype.addChild = function(value){
    var child = new deepSearch(value);
  this.children.push(child);
  return child;
};

deepSearch.prototype.map = function(val, cb){
  if(this.value === val){
    cb(this.value);
 }


 if(this.children){
  for(var i = 0; i < this.children.length; i++){
    if(this.children[i].contains(val)){
      cb(this.value);
    }
  }
 }

 return false;
};

我正在使用jQuery AJAX请求与节点服务器进行通信

const express = require('express');
app.listen(3000, function(){
    console.log("Start playing the game on port 3000");
});

该请求在express的app.post方法中被捕获

 $.post("/guess/", data, function(data, status){
    //do something with data
});

游戏按预期运行,仅在代码中没有问题 问题是,每当我在两个标签或浏览器中打开app.post('/guess/', function(req, res){ //do something }); 并在两个标签或游戏中玩游戏时,游戏似乎都会被打破。 http://localhost:3000的两个游戏似乎都在使用相同的服务器变量和实例。

例如,如果我在浏览器1和2中玩游戏并且我在浏览器1中猜到了字母'a'(错误的猜测),那么结果反映在浏览器1中,就会绘制出刽子手的基础。
browser 1

之后如果我去浏览器2并单击字母'b'(再次猜错了),结果应该是hangman的基础,但是hangman的下一部分是绘制而不是base。 localhost的两个实例正在更新记录错误猜测的计数变量 browser 2

如何通过上述设置了解如何支持Web应用程序的多个实例?

0 个答案:

没有答案