Почему мы используем 10.0.2.2 для подключения к локальному веб-серверу вместо использования IP-адреса компьютера в клиенте Android

Обычно мы используем 10.0.2.2:(номер порта) в URL для подключения к локальному веб-серверу, но мы должны использовать IP-адрес компьютера вместо 10.0.2.2

Тогда почему мы используем 10.0.2.2?

4 ответа

Сетевое адресное пространство

Каждый экземпляр эмулятора работает за службой виртуального маршрутизатора / брандмауэра, которая изолирует его от сетевых интерфейсов и настроек вашего компьютера разработчика и от Интернета. Эмулируемое устройство не может видеть вашу машину разработки или другие экземпляры эмулятора в сети. Вместо этого он видит только то, что он подключен через Ethernet к маршрутизатору / брандмауэру.

Виртуальный маршрутизатор для каждого экземпляра управляет сетевым адресным пространством 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

Если вы используете сервер и эмулятор на своем компьютере, 127.0.0.1:(port) будет ссылаться на сам эмулятор, а не на сервер. 10.0.2.2 является решением этой проблемы:)

Надеюсь, что помог

Причина, по которой вы используете 10.0.2.2, заключается в том, что это специальный псевдоним интерфейса петли вашего хоста (он же 127.0.0.1). Вот почему это работает, и разве это не круто?

Если вы используете 10.0.2.2 для подключения, он всегда будет указывать на ваш локальный хост. Я использовал реальный IP для своей машины, прежде чем читать это, и он работает в обоих направлениях.

Преимущество использования 10.0.2.2 состоит в том, что вам все равно, какой реальный IP, и вы можете легче перенести проект на другой компьютер.

Другие вопросы по тегам