从另一台计算机连接到 localhost:3000 | expressjs,nodejs [重复]
Posted
技术标签:
【中文标题】从另一台计算机连接到 localhost:3000 | expressjs,nodejs [重复]【英文标题】:Connect to localhost:3000 from another computer | expressjs, nodejs [duplicate] 【发布时间】:2015-08-23 02:18:47 【问题描述】:我目前正在处理一个项目,我想通过另一台计算机或手机对其进行测试。这台计算机连接在同一网络上。
如何连接到http://localhost:3000
?
我正在使用expressjs
(nodejs
模块)作为服务器。
【问题讨论】:
尝试使用 IP 地址?根据您的网络设置方式,计算机名称也可能有效。 这似乎是一个pretty heavily duplicated 问题。 没有重复他使用 xamp 服务器但我不使用它,我使用expressjs
原理完全一样。你有一个服务器正在监听。您从客户端连接到它。该服务器是什么软件并不重要(只要您没有将其配置为仅在环回接口上侦听,但您没有向我们展示足够的信息来说明这一点)。
支持这个问题...将127.0.0.1
更改为0.0.0.0
解决了我的问题。我没有得到关于任何其他“重复”问题的信息。
【参考方案1】:
将您的应用程序配置为在 0.0.0.0
而不是 127.0.0.0(localhost)
上运行。例如:
app.listen(3000, '0.0.0.0', function()
console.log('Listening to port: ' + 3000);
);
然后从另一台计算机连接到192.168.1.11:3000
(或任何您的本地 IP 地址)。
【讨论】:
这回答了它的外观逻辑,但它对我不起作用:3'! ,当我访问0.0.0.0:3000时,无法连接 你需要访问192.168.1.11:3000
(或任何你的地址),不是 0.0.0.0:3000
。
将127.0.0.1
更改为0.0.0.0
是任何服务器的一般做法吗?还是只适用于 node.js??
谢谢,它有效!有人能解释一下为什么吗?
0.0.0.0 是一个不可路由的元地址,用于指定无效、未知或不适用的目标(“无特定地址”占位符)。在路由条目的上下文中,它通常表示默认路由。在服务器上下文中,0.0.0.0 表示本地计算机上的所有 IPv4 地址。如果主机有两个 IP 地址,192.168.1.1 和 10.1.2.1,并且在主机上运行的服务器侦听 0.0.0.0,那么这两个 IP 都可以访问它。 @Luckylooke 更多信息可以看:howtogeek.com/225487/…【参考方案2】:
鉴于端口绑定到 127.0.0.1 (localhost) 以外的任何 IP 地址,您可以从任何其他系统访问它。
要查看您的 IP 地址,请使用 ipconfig
(Windows) 或 ifconfig
(Linux) 命令。
找出与您要访问的“其他系统”在同一网络中的 IP。
然后访问它,例如:172.16.0.12:3000
。
PS:即使通过另一个系统访问它,请记住包含端口3000
。此外,如果已配置,可以使用主机名代替 IP 地址。
【讨论】:
完全正确的逻辑。解释得很好。【参考方案3】:你的网址应该是这样的
http://yourcomputername:3000
要获取计算机名称,请打开命令提示符窗口并键入主机名,然后按 Enter
【讨论】:
是的,这就是最终在 macOS Sierra 上对我有用的方法。我一直在做http://<name>.local:3000
但它只是计算机名称:http://doug:3000
对我有用
@Yuri 的方法也适用于 Mac,打开终端并输入 hostname
以上是关于从另一台计算机连接到 localhost:3000 | expressjs,nodejs [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 odbc_connect() 从另一台计算机连接到 Microsoft Access 数据库?