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

时间:2014-06-07 07:12:41

标签: node.js macos osx-mavericks

我在Mac上使用OS X 10.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。

1 个答案:

答案 0 :(得分:2)

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

首先,我注意到listen功能中的地址以及打印到控制台的内容是不同的。其次,如果节点在本地计算机上运行,​​则需要连接到计算机的IP,而不是节点服务器提供的IP。我相信Mac对终端有一个ifconfig命令。这应该可以让您恢复网络上的计算机IP。

我复制了您的代码并删除了' 0.0.0.0'来自listen函数。然后我就可以启动服务器并在手机上连接它(使用计算机的IP)。当然,这是在运行Arch的MacBook上,并使用Note III进行连接。

希望这有帮助!