欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android| failed to connect to /10.0.2.2 (port 80) after 10000ms

程序员文章站 2022-05-16 18:16:05
...

关于使用android模拟器访问本地服务器失败

第一种:使用Google自带的模拟器 用http://127.0.1.1访问失败

描述:

明明在浏览器中使用http://127.0.1.1可以访问Apache本地服务器,但是将http://127.0.1.1放在url中,编译构建就显示连接访问失败。

原因:

Googl自带的Android模拟器在本地开辟了内存,所以使用http://127.0.1.1是默认访问Android模拟器,并不是访问我们电脑主机的服务器。因为Android模拟器并没有http://127.0.1.1这个接口,所以会显示连接失败: failed to connect to /127.0.1.1(port 80) after 10000ms;

解决方法:

Googl自带的Android模拟器使用http://10.0.2.2默认为电脑的本地接口,所以避开了http://127.0.1.1这个本身模拟器的接口。即在url(http://10.0.2.2)即可访问电脑的本地服务器。

第二种:使用Genymotion模拟器 用http://127.0.1.1或者http://10.0.2.2都访问失败

描述:

像我就是用Genymotion模拟器的,但是发现无论是用http://127.0.1.1或者http://10.0.2.2都连接访问失败。

原因:

Genymotion模拟器用http://127.0.1.1也是连接访问模拟器本身的接口,而且它并没有内置http://10.0.2.2来默认访问电脑主机的服务器,所以这两个链接都无效。

解决方法:

查下自己电脑的IP地址,然后直接将电脑的IP地址放在Url中,这样就可以直接访问电脑主机了。

  • 说下查看自己电脑IP的方法吧:

    • 一、在命令行窗口输入下图的命令:
      Android| failed to connect to /10.0.2.2 (port 80) after 10000ms

    • 二、然后会出现一大推的东西,找到红圈圈出来的IP地址:
      Android| failed to connect to /10.0.2.2 (port 80) after 10000ms

    • 三、将这个电脑的IP放入Url中即可;
 Request request=new Request.Builder().url("http://172.28.1.210/get_data.xml").build();