2014-06-07 21 views
8

我在我的Mac的OS X 10.9.Here运行节点服务器上的代码是不能在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的防火墙已关闭,我的iPhone与Mac使用的是同一WiFi。

+0

Mac上的防火墙是否打开? iPhone真的使用WiFi而不是3G? –

+0

@JoachimIsaksson防火墙关闭,iPhone正在使用WiFi。 –

+0

你确定你的iPhone在你的网络中看到你的Mac吗?您可以使用[Fing](https://itunes.apple.com/en/app/fing-network-scanner/id430921107?mt=8)等应用程序来检查此问题,以便Ping您的Mac。 –

回答

1

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

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

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

希望这会有所帮助!

相关问题