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

我使用OS X 10.9在我的Mac上运行节点服务器。这里是代码

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的防火墙closures了,我的iPhone和Mac一样都在同一个WiFi上。

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

首先,我注意到了监听function中的地址,并且向控制台输出的内容是不同的。 其次,如果节点在本地计算机上运行,​​则需要连接到计算机的IP,而不是由节点服务器提供的IP。 我相信Mac有一个terminal的ifconfig命令。 这应该会让您恢复networking上的计算机IP。

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

希望这可以帮助!