我在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。
答案 0 :(得分:2)
由于声誉低而回答。我不确定这是否解决了你的问题。
首先,我注意到listen功能中的地址以及打印到控制台的内容是不同的。其次,如果节点在本地计算机上运行,则需要连接到计算机的IP,而不是节点服务器提供的IP。我相信Mac对终端有一个ifconfig
命令。这应该可以让您恢复网络上的计算机IP。
我复制了您的代码并删除了' 0.0.0.0'来自listen
函数。然后我就可以启动服务器并在手机上连接它(使用计算机的IP)。当然,这是在运行Arch的MacBook上,并使用Note III进行连接。
希望这有帮助!