我可以使用 Android 模拟器访问我的笔记本电脑网络服务器,我使用的是 10.0.2.2:portno
效果很好。
但是当我连接我真正的 Android 手机时,手机浏览器无法连接到我笔记本电脑上的同一个网络服务器。手机使用 USB 数据线连接到笔记本电脑。如果我运行 adb devices 命令,我可以看到我的手机了。
我错过了什么?
最佳答案
USB 无法为移动设备提供网络。
如果您的桌面和手机都连接到同一个 WiFi(或任何其他本地网络),则使用路由器分配的桌面 IP 地址(不是 localhost
和 127.0.0.1
)。
要找出您桌面的 IP 地址:
- 在命令行中输入
ipconfig
(Windows) 或ifconfig
(Unix)- 在 Linux 上,单行
ifconfig | grep "inet " | grep -v 127.0.0.1
只会产生重要的东西 - 有一个 bunch of suggestions关于如何在 Windows 上获得类似的输出
- 在 Linux 上,单行
- 会有一堆 IP
- 尝试所有方法(除了前面提到的
localhost
和127.0.0.1
)
如果您的手机已连接到移动网络,那么事情会变得更加困难。
要么去硬核:
- 首先找出您的路由器外部 IP 地址 (https://www.google.de/search?q=myip)
- 然后,在路由器上,将某个端口转发到
<your desktop IP>:<server port number>
- 最终使用外部 IP 地址和转发端口
注意:ifconfig
命令已被弃用,因此默认情况下在 Debian Linux 上缺失,从 Debian stretch 开始。在 Debian Linux 上检查网络配置的新推荐替代方法是 ip 命令。例如,要使用 ip 命令显示网络配置,请运行以下命令:
ip address
上面的ip命令可以简写为:
ip a
如果您仍然喜欢使用 ifconfig
作为日常系统管理例程的一部分,您可以轻松地将其安装为 net-tools
的一部分。包。
apt-get install net-tools
引用是here
关于android - 如何从我的 Android 设备访问我的本地主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4779963/