从另一台计算机连接到localhost:3000 expressjs,nodejs

elr*_*eda 28 localhost node.js express

我目前正在开发一个项目,我想从另一台计算机或手机上测试它.此计算机连接在同一网络上.

我该如何连接 http://localhost:3000

我正在使用expressjs(nodejs模块)作为服务器.

Bid*_*han 60

将应用程序配置为运行0.0.0.0而不是127.0.0.0(localhost).例如:

app.listen(3000, '0.0.0.0', function() {
    console.log('Listening to port:  ' + 3000);
});
Run Code Online (Sandbox Code Playgroud)

然后从另一台计算机连接到192.168.1.11:3000.

  • 0.0.0.0是一个不可路由的元地址,用于指定无效,未知或不适用的目标("无特定地址"占位符).在路由条目的上下文中,它通常表示默认路由.在服务器的上下文中,0.0.0.0表示本地计算机上的所有IPv4地址.如果主机有两个IP地址192.168.1.1和10.1.2.1,并且主机上运行的服务器侦听0.0.0.0,则可以在这两个IP上访问它.@Luckylooke欲了解更多信息,请访问:https://www.howtogeek.com/225487/what-is-the-difference-between-127.0.0.1-and-0.0.0.0/ (8认同)
  • 你需要访问`192.168.1.11:3000`(无论你的地址是什么),**不是**`0.0.0.0:3000`. (7认同)
  • 将`127.0.0.1`更改为`0.0.0.0`是任何服务器的一般做法吗?或者只是为了node.js? (3认同)
  • 谢谢,它的确有效!有人可以解释一下原因吗? (3认同)

skr*_*ngr 8

鉴于端口绑定到127.0.0.1(localhost)以外的任何IP地址,您可以从任何其他系统访问它.

要查看您的IP地址,请使用ipconfig(Windows)或ifconfig(Linux)命令.找出与您想要访问的"其他系统"位于同一网络中的IP.然后访问它,例如:172.16.0.12:3000.

PS:3000即使通过其他系统访问端口,也要记住包括端口.此外,如果配置了主机名,则可以使用主机名代替IP地址.


Yur*_*uri 8

你的网址应该是这样的

http://yourcomputername:3000
Run Code Online (Sandbox Code Playgroud)

获取计算机名称打开命令提示符窗口并键入hostname然后按Enter键

  • 是的,这是最终在macOS Sierra上为我工作的东西.我一直在做`http:// <name> .local:3000`但它只是计算机名:`http:// doug:3000`对我有用 (2认同)
  • @Yuri 的方法也适用于 Mac,只需打开终端并输入“主机名” (2认同)

归档时间:

查看次数:

58952 次

最近记录:

6 年,7 月 前