注意:还有一些其他人也遇到了类似的问题,但这些问题是通过在涉及服务器如何监听的代码中修复小花絮来解决的我见过他们把“127.0.0.1”作为http.createServer(...).listen()
参数。但是,我并没有同样的问题。Node.js:无法从同一网络上的不同设备访问服务器
当我尝试从不同的机器连接到我的node.js服务器在同一局域网网络,Chrome的说,它无法连接。
这是testtesttest.js
var http = require('http');
http.createServer(function(req,res) {
res.writeHead(200,{'Content-Type': 'text/plain'});
res.end('Working');
}).listen(3000);
当我尝试输入192.168.1.73:3000
(当然192.168.1.73是我运行服务器的机器的ip)到浏览器(Chrome浏览器,虽然我尝试了其他浏览器以及我也有类似的问题)我的另一台机器,它会给出错误“哎呀!谷歌浏览器无法连接到192.168.1.73:3000“。当我在本地机器上键入相同的地址时,它可以正常工作。
我不确定该怎么做。我诚实地希望这只是一个愚蠢的行为在我的部分错误(我是可能浪费你的时间抱歉),而不是东西,我必须进入我的路由器。
非常感谢您的帮助。
这个日志是什么? '.listen(3000,function(){console.log(this._connectionKey)})'。另外,它不是阻止传入连接的防火墙?你能否从其他机器上的同一IP号码上的其他端口? – robertklep 2013-03-19 06:17:50
它记录'未定义'。其他港口似乎也不工作。 – AbsoluteZero2A03 2013-03-19 06:34:37
您是否正在运行Unix类型的操作系统?如果是这样,你可以发布这个结果(当你的Node服务器正在监听时):'netstat -an | grep LISTEN'。这将为您提供服务正在侦听的端口列表。 – robertklep 2013-03-19 06:47:44