我们通常在url中使用10.0.2.2:(端口号)来连接本地web服务器,但我们应该使用计算机的ip地址而不是10.0.2.2
那我们为什么要用10.0.2.2呢?
最佳答案
网络地址空间
模拟器的每个实例都在虚拟路由器/防火墙服务后面运行,该服务将其与您的开发机器的网络接口(interface)和设置以及互联网隔离开来。仿真设备看不到您的开发机器或网络上的其他仿真器实例。相反,它只看到它通过以太网连接到路由器/防火墙。
每个实例的虚拟路由器管理 10.0.2/24 网络地址空间 — 路由器管理的所有地址都采用 10.0.2.<xx>
的形式, 其中 <xx>
是一个数字。该空间内的地址由模拟器/路由器预先分配如下:
网络地址说明
10.0.2.1 Router/gateway address
10.0.2.2 Special alias to your host loopback interface (i.e., 127.0.0.1 on your development machine)
10.0.2.3 First DNS server
10.0.2.4 / 10.0.2.5 / 10.0.2.6 Optional second, third and fourth DNS server (if any)
10.0.2.15 The emulated device's own network/ethernet interface
127.0.0.1 The emulated device's own loopback interface
关于android - 为什么我们使用 10.0.2.2 连接到本地 Web 服务器而不是在 android 客户端中使用计算机 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9808560/