Javascript 为什么可以';我不能连接到我的节点服务器吗?
我一直在为一个朋友开发一个网络应用程序。在国内开发/测试时,一切都很好。但是,当我试着运行它时,在我朋友家里安装了所有模块和所有东西,它不工作 除运行服务器的计算机外,任何设备都无法连接和查看网页。我唯一注意到的是Javascript 为什么可以';我不能连接到我的节点服务器吗?,javascript,node.js,sockets,io,server,Javascript,Node.js,Sockets,Io,Server,我一直在为一个朋友开发一个网络应用程序。在国内开发/测试时,一切都很好。但是,当我试着运行它时,在我朋友家里安装了所有模块和所有东西,它不工作 除运行服务器的计算机外,任何设备都无法连接和查看网页。我唯一注意到的是他的IP是192.168.1.x而我的IP是192.168.0.x。这会影响服务器的运行吗?代码如下: var app = require('express')(); var http = require('http').Server(app); var io = require('s
他的IP是192.168.1.x
而我的IP是192.168.0.x。
这会影响服务器的运行吗?代码如下:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var path = require('path');
var fs = require("fs");
function onwin(winner){
fs.readFile('results.json', 'utf8', (err, data) => {
if (err) throw err;
var results = JSON.parse(data);
console.log(typeof data);
console.log(typeof results);
var found = false;
for (var i in results){
console.log("I: "+i);
console.log("Winner: "+winner);
if (i==winner){
results[winner] += 1;
found = true;
};
};
if (found==false){
results[winner] = 1;
};
fs.writeFile('results.json', JSON.stringify(results), 'utf8', (err) => {
if (err) throw err;
console.log('It\'s saved!');
console.log(results);
});
});
};
app.get('/', function(req, res){
res.sendFile(path.join(__dirname, 'index.html'));
});
var players;
players = {p1: "", p2: "", p1score: 0, p2score: 0};
var draw = false;
var clients = 0;
io.on('connection', function(client){
console.log("Client Connected");
clients+=1
client.on('displayname', function(data){
if (players.p1 == ""){
players.p1 = data;
console.log(players.p1 + " is ready as player 1");
}
else if (players.p2 == ""){
players.p2 = data;
console.log(players.p2 + " is ready as player 2");
io.emit("ready");
};
});
client.on('mypoint', function(data){
console.log(data + " scored a point");
if (data==players.p1){players.p1score+=1;}
else if (data==players.p2){players.p2score+=1;};
if (draw==false){
if ((players.p1score+players.p2score)%2==0){
io.emit("changeserver");
};
};
if (players.p1score==10){
if (players.p2score==10){draw = true; io.emit("changeserverdraw");}
};
if (draw==false){
if (players.p1score==11){io.emit("winner", players.p1); console.log(players.p1+ " wins"); onwin(players.p1); players.p1score = 0; players.p2score = 0;}
else if (players.p2score==11){io.emit("winner", players.p2); console.log(players.p2+ " wins"); onwin(players.p2); players.p1score = 0; players.p2score = 0;};
}
else{
if (players.p1score-players.p2score==2){io.emit("winner", players.p1); console.log(players.p1+ " wins"); onwin(players.p1); players.p1score = 0; players.p2score = 0; draw = false;}
else if (players.p2score-players.p1score==2){io.emit("winner", players.p2); console.log(players.p2+ " wins"); onwin(players.p2); players.p1score = 0; players.p2score = 0; draw = false;};
};
io.emit('pointreturn', players.p1score, players.p2score)
});
client.on('disconnect', function(){
console.log("Client Disconnected");
clients = clients - 1;
if (clients<2){players.p1 = ""; players.p2 = ""; players.p1score = 0; players.p2score = 0; io.emit("reset");};
});
});
http.listen(3000, '0.0.0.0', function() {
console.log('Listening to port: ' + 3000);
});
var-app=require('express')();
var http=require('http')。服务器(应用程序);
var io=require('socket.io')(http);
var path=require('path');
var fs=要求(“fs”);
函数onwin(winner){
fs.readFile('results.json','utf8',(err,data)=>{
如果(错误)抛出错误;
var results=JSON.parse(数据);
console.log(数据类型);
控制台日志(结果类型);
var=false;
对于(结果中的var i){
控制台日志(“I:+I”);
console.log(“Winner:+Winner”);
如果(i==获胜者){
结果[获胜者]+=1;
发现=真;
};
};
if(found==false){
结果[获胜者]=1;
};
fs.writeFile('results.json',json.stringify(results),'utf8',(err)=>{
如果(错误)抛出错误;
log('已保存!');
控制台日志(结果);
});
});
};
app.get('/',函数(req,res){
res.sendFile(path.join(uu dirname,'index.html');
});
var参与者;
玩家={p1:,p2:,p1score:0,p2score:0};
var-draw=false;
var=0;
io.on('连接',功能(客户端){
控制台日志(“客户端连接”);
客户端+=1
client.on('displayname',函数(数据){
如果(players.p1==“”){
players.p1=数据;
console.log(players.p1+“已准备好作为播放器1”);
}
else if(players.p2==“”){
players.p2=数据;
log(players.p2+“已准备好作为player2”);
io.emit(“就绪”);
};
});
client.on('mypoint',函数(数据){
console.log(数据+“得分”);
如果(data==players.p1){players.p1score+=1;}
如果(data==players.p2){players.p2score+=1;};
if(draw==false){
如果((players.p1score+players.p2score)%2==0){
io.emit(“changeserver”);
};
};
如果(玩家p1得分=10){
如果(players.p2score==10){draw=true;io.emit(“changeserverdraw”);}
};
if(draw==false){
if(players.p1score==11){io.emit(“winner”,players.p1);console.log(players.p1+“wins”);onwin(players.p1score==0;players.p2score=0;}
如果(players.p2score==11){io.emit(“winner”,players.p2);console.log(players.p2+“wins”);onwin(players.p2);players.p1score=0;players.p2score=0;};
}
否则{
如果(players.p1score players.p2score==2){io.emit(“winner”,players.p1);console.log(players.p1+“wins”);onwin(players.p1);players.p1score=0;players.p2score=0;draw=false;}
如果(players.p2score players.p1score==2){io.emit(“winner”,players.p2);console.log(players.p2+“wins”);onwin(players.p2);players.p1score=0;players.p2score=0;draw=false;};
};
io.emit('pointreturn',players.p1score,players.p2score)
});
client.on('disconnect',function()){
console.log(“客户端断开连接”);
客户=客户-1;
如果(客户端如果运行应用程序的计算机可以从中提取页面或按预期调用功能,而网络上的其他计算机不能,这很可能是由于机箱或网络上的防火墙配置,或者机箱上的防病毒应用程序。
。请检查并查看这些设置,并确保por运行应用程序的设备也不会被阻止。因此,当你说它不工作时,你的意思是什么?与http服务器的连接不工作,是吗?是的。尝试连接到服务器时,网页不会加载到服务器以外的任何设备上。