android - 为什么我们使用 10.0.2.2 连接到本地 Web 服务器而不是在 android 客户端中使用计算机 IP 地址

标签 android client-server

我们通常在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/

相关文章:

android - 如何通过 Intent 打开或展开状态栏?

android - 将 Spinner 转换为字符串中的日期格式

php - 如何将Android客户端连接到ReactPHP套接字服务器

c# - 如何使用 C# 从客户端访问 MySQL 数据库

java - 安卓应用程序 : Managing an expired SSL certificate?

android - H.264、720p 视频比特率

java - C 服务器与 Java 客户端套接字连接。在客户端上阅读消息时,我看到实际消息之前有空格

android - 使用 WiFI 从笔记本电脑通过 Web 浏览器管理 Android 设备

java - 将桌面java应用程序的日志发送到服务器

javascript - 强制 Chrome (38) 退出全屏模式