web-dev-qa-db-fra.com

pourquoi utilisons-nous 10.0.2.2 pour nous connecter au serveur Web local au lieu d'utiliser l'adresse IP de l'ordinateur dans Android client

Nous utilisons normalement 10.0.2.2:( numéro de port) dans l'url pour nous connecter au serveur Web local, mais nous devons utiliser l'adresse IP de l'ordinateur au lieu de 10.0.2.2

Alors pourquoi utilisons-nous 10.0.2.2?

41
Touchstone

Espace d'adressage résea

Chaque instance de l'émulateur s'exécute derrière un service de routeur/pare-feu virtuel qui l'isole des interfaces et paramètres réseau de votre machine de développement et d'Internet. Un périphérique émulé ne peut pas voir votre machine de développement ou d'autres instances d'émulateur sur le réseau. Au lieu de cela, il voit seulement qu'il est connecté via Ethernet à un routeur/pare-feu.

Le routeur virtuel de chaque instance gère l'espace d'adressage réseau 10.0.2/24 - toutes les adresses gérées par le routeur sont sous la forme de 10.0.2.<xx>, où <xx> est un nombre. Les adresses dans cet espace sont pré-allouées par l'émulateur/routeur comme suit:

Description de l'adresse réseau

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
38
Zephyr

Si vous exécutez à la fois le serveur et l'émulateur sur votre ordinateur, 127.0.0.1:(port) fera référence à l'émulateur lui-même et non au serveur.Le 10.0.2.2 est la solution à ce problème :)

J'espère que cela a aidé

25
vlad_o

La raison pour laquelle vous utilisez 10.0.2.2 est qu'il s'agit de l'alias spécial de votre interface de bouclage hôte (aka 127.0.0.1). C'est pourquoi cela fonctionne, et n'est-ce pas cool?

19
Andrew Allbright

Si vous utilisez 10.0.2.2 pour la connexion, il pointera toujours vers votre hôte local. J'ai utilisé la véritable IP de ma machine avant de lire ceci et cela fonctionne dans les deux sens.

L'avantage d'utiliser 10.0.2.2 est que vous ne vous souciez pas de la véritable IP et que vous pouvez déplacer le projet plus facilement sur un autre ordinateur.

9
azertiti