Node.js 无法从本地网络上的不同设备访问Mac上的节点服务器

Node.js 无法从本地网络上的不同设备访问Mac上的节点服务器,node.js,macos,osx-mavericks,Node.js,Macos,Osx Mavericks,我正在Mac上用OSX10.9运行节点服务器 var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(3000, '0.0.0.0'); console.log('Server running

我正在Mac上用OSX10.9运行节点服务器

var http = require('http');

http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World\n');
}).listen(3000, '0.0.0.0');

console.log('Server running at http://192.168.1.120:3000/');
我可以在mac上使用Safari访问
http://192.168.1.120:3000/
。但当我用iPhone访问服务器时,它失败了。
我的Mac电脑的防火墙已关闭,我的iPhone与Mac电脑处于同一WiFi位置。

由于声誉低下而应答。我不确定这是否解决了你的问题

首先,我注意到listen函数中的地址和打印到控制台的内容是不同的。其次,如果节点在本地计算机上运行,则您希望连接到计算机的IP,而不是节点服务器提供的IP。我相信Mac有一个用于终端的
ifconfig
命令。这将返回网络上的计算机IP

我复制了您的代码,并从
listen
函数中删除了“0.0.0.0”。然后,我可以启动服务器并通过手机连接到它(使用计算机的IP)。当然,这是在运行Arch并使用Note III连接的MacBook上实现的


希望这有帮助

mac电脑上的防火墙打开了吗?iPhone真的在使用WiFi而不是3G吗?@JoachimIsaksson防火墙关闭,iPhone在使用WiFi。你确定你的iPhone在网络中看到你的Mac吗?您可以使用类似于检查此项的应用程序ping您的Mac。@RodrigoMedeiros我使用Fing发现iPhone在本地网络中看不到Mac。问题似乎出在OSX上。我也有同样的问题。。。