MAC上的Node.js:从另一台计算机访问Node.js Web服务器

hta*_*irt 24 node.js

我在我的计算机上构建了一个Node.js Web服务器,使用了如此众所周知的http.web-server-Node.js示例:

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');
Run Code Online (Sandbox Code Playgroud)

这在运行服务器的计算机上有效(如预期的那样).

我想从同一局域网中的另一台计算机访问服务器.使用ifconfig运行该服务器的计算机(苹果的MacOSX)的终端上,我得到:192.168.0.6.

所以,在我的另一台电脑上,我打开浏览器并连接到http://192.168.0.6:3000,但我得到:

Oops! Google Chrome could not connect to 192.168.0.6:3000
Run Code Online (Sandbox Code Playgroud)

我的最终目标是能够使用我的智能手机连接到服务器.

欢迎任何帮助.如有必要,请随时询问更多详细信息.

提前致谢 :)

Vad*_*hev 36

127.0.0.1只是本地接口.尝试开始监听所有接口:

var http = require('http');

http.createServer(function(req, res){
    res.writeHead(200, {'content-type': 'text/plain'});
    res.end('It works');
}).listen(3000, '0.0.0.0');
Run Code Online (Sandbox Code Playgroud)

  • 您的机器有几个网络接口.您可以通过执行`ifconfig`命令来查看所有内容.通过设置`127.0.0.1`,您只能将node.js服务器绑定到loopback接口.此接口只能从运行它的机器访问.`0.0.0.0`是所有可用接口的别名.您也可以将服务器绑定到另一个选定的接口,例如`192.168.0.6`,但在这种情况下,它不应该由`http://127.0.0.1:3000`访问. (5认同)
  • 我的计算机中的node.js中也有一个连接,192.168.1.101.我绑定到服务器中的此地址,但仍无法从另一台计算机访问我的HTML页面.有帮助吗? (2认同)