23
我在我的计算机上构建了一个Node.js Web服务器,使用众所周知的http-web-server-Node.js :MAC上的Node.js:从另一台计算机访问Node.js Web服务器
var http = require('http');
http.createServer(function(req, res){
res.writeHead(200, {'content-type': 'text/plain'});
res.end('It works');
}).listen(3000, '127.0.0.1');
这在运行服务器的计算机上工作(如预期)。
我想从同一局域网中的另一台计算机访问服务器。在运行服务器的计算机(Apple MacOSX)的终端上使用ifconfig
,我得到:192.168.0.6
。
所以,在我的其他电脑,我打开浏览器并连接到http://192.168.0.6:3000
,但我得到:
Oops! Google Chrome could not connect to 192.168.0.6:3000
我的最终目的,是为了能够使用我的智能手机连接到服务器。
任何帮助将受到欢迎。如有必要,请不要犹豫询问更多细节。
感谢提前:)
哇!非常感谢Vadim,它可以工作(即使在我的智能手机中)。你能否提供更多细节(如果可能的话)? – htaidirt
你的机器有几个网络接口。你可以通过执行'ifconfig'命令来看到它。通过将'127.0.0.1'设置为仅将您的node.js服务器绑定到回送接口。这个接口只能从运行的机器上访问。 '0.0.0.0'是所有可用接口的别名。你也可以将你的服务器绑定到另一个选择的接口,如'192.168.0.6',但在这种情况下,它不应该被'http://127.0.0.1:3000'访问。 –
谢谢瓦迪姆。现在我更多地了解它是如何工作的。事实上,当我将服务器绑定到'192.168.0.6'时,它在访问这个地址时起作用,但不是'localhost'。再次感谢。 – htaidirt