我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
我可以使用Android模拟器访问我的笔记本电脑web服务器,我使用10.0.2.2:portno 工作得很好。
但当我连接真正的Android手机时,手机浏览器无法连接到我笔记本电脑上的同一个web服务器。手机和笔记本电脑通过USB线连接。如果我运行 adb devices命令,我可以看到我的手机。
我错过了什么?
当前回答
另一件需要检查的事情是,当同时启用2.4G和5G且设备处于不同频率时,一些路由器在桥接请求方面存在问题。尝试禁用其中一个频率,以便两个设备连接到同一个接口。
其他回答
以管理员身份运行CMD
在CMD屏幕上输入ipconfig,屏幕将显示文本
就像这张照片
您可以使用这个IP访问您的本地主机 您必须连接到与您的PC连接的相同网络
在Ilya Saunkin回答的基础上,这里有一个命令,应该输出你的IP地址格式为超链接-只需用3000代替你的端口号:
ifconfig | grep "inet " | grep -v 127.0.0.1 | sed 's/netmask.*//g' | sed 's/inet//g' | awk '{print "http://"$1":3000/"}'
根据您运行命令的位置,您应该能够(在Mac上)按住命令键并单击/双击打开链接。
USB不为移动设备提供网络。
如果你的桌面和手机都连接到同一个WiFi(或任何其他本地网络),那么使用路由器分配的桌面IP地址(不是localhost,也不是127.0.0.1)。
要找出您的桌面的IP地址:
在命令行输入ipconfig (Windows)或ifconfig (Unix) 在Linux上,一行程序ifconfig | grep "inet " | grep -v 127.0.0.1将只产生重要的东西 有很多关于如何在Windows上有类似输出的建议 会有一大堆IP 尝试所有这些(除了前面提到的localhost和127.0.0.1)
如果你的手机连接到移动网络,那么事情就会变得更加困难。
要么走硬核路线:
首先找出你的路由器外部IP地址(https://www.google.de/search?q=myip) 然后,在路由器上转发一些端口到<您的桌面IP>:<服务器端口号> 最后使用外部IP地址和转发端口
否则使用类似xip的东西。IO或ngrok。
注意:ifconfig命令已经弃用,因此在Debian Linux上默认没有,从Debian扩展开始。在Debian Linux上检查网络配置的新的推荐替代方法是ip命令。例如,使用ip命令显示网络配置,执行如下命令:
ip address
以上ip命令可以缩写为:
ip a
如果您仍然喜欢使用ifconfig作为日常系统管理程序的一部分,您可以轻松地将其作为net-tools包的一部分安装。
apt-get install net-tools
参考资料在这里
以上的方法对我不起作用。Mac是这样的:
在终端:
ifconfig
然后把inet后面的数字放到手机浏览器里:
“Chrome for Android的端口转发让你更容易在手机上测试你的开发站点。它的工作原理是在移动设备上创建一个监听TCP端口,该端口映射到开发机器上的特定TCP端口。这些端口之间的流量通过USB传输,因此连接不依赖于你的网络配置。”
更多详情请访问:https://developer.chrome.com/devtools/docs/remote-debugging#port-forwarding