pourquoi utiliser 10.0.2.2 pour se connecter au serveur web local au lieu d'utiliser l'adresse ip de l'ordinateur dans le client android

nous utilisons normalement 10.0.2.2: (numéro de port) dans l'url pour nous connecter au serveur web local, mais nous devrions utiliser l'adresse ip de l'ordinateur au lieu de 10.0.2.2

alors pourquoi utiliser 10.0.2.2?

35
demandé sur Touchstone 2012-03-21 20:14:31

4 réponses

Espace D'Adressage Du Réseau

chaque instance de l'émulateur tourne derrière un routeur virtuel/service de pare-feu qui l'isole des interfaces réseau et des paramètres de votre machine de développement et de l'internet. Un dispositif émulé ne peut pas voir votre machine de développement ou d'autres instances émulatrices sur le réseau. Au lieu de cela, il voit seulement qu'il est connecté par Ethernet à un routeur/pare-feu.

le routeur virtuel pour chaque instance gère l'espace d'adresse 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é-attribuées par l'émulateur/routeur comme suit:

Description De L'Adresse Du 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
30
répondu Zephyr 2016-01-17 17:54:37

si vous utilisez à la fois le serveur et l'émulateur dans votre ordinateur 127.0.0.1:(port) se référera à l'émulateur lui-même et non au serveur.Le 10.0.2.2 est la solution à ce problème :)

l'Espérance qui a contribué à

23
répondu vlad_o 2012-03-21 16:33:31

la raison pour laquelle vous utilisez 10.0.2.2 est que c'est l'alias spécial de votre interface de boucle hôte (alias 127.0.0.1). C'est pour ça que ça marche, et c'est pas cool que ça marche?

15
répondu Andrew Allbright 2013-11-05 20:44:15

si vous utilisez 10.0.2.2 pour la connexion, il pointera toujours vers votre hôte local. J'ai utilisé la vraie IP pour 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 savoir quelle est la véritable IP et vous pouvez déplacer le projet plus facilement sur un autre ordinateur.

8
répondu azertiti 2012-03-21 16:29:24