webentwicklung-frage-antwort-db.com.de

Warum verwenden wir 10.0.2.2, um eine Verbindung zum lokalen Webserver herzustellen, anstatt die IP-Adresse des Computers im Android client) zu verwenden?

Wir verwenden normalerweise 10.0.2.2:(port number) in der URL, um eine Verbindung zum lokalen Webserver herzustellen, aber wir sollten die IP-Adresse des Computers anstelle von 10.0.2.2 verwenden

Warum verwenden wir dann 10.0.2.2?

41
Touchstone

Netzwerkadressraum

Jede Instanz des Emulators wird hinter einem virtuellen Router/Firewall-Dienst ausgeführt, der ihn von den Netzwerkschnittstellen und -einstellungen Ihres Entwicklungscomputers und vom Internet isoliert. Ein emuliertes Gerät kann Ihren Entwicklungscomputer oder andere Emulatorinstanzen im Netzwerk nicht sehen. Stattdessen sieht es nur, dass es über Ethernet mit einem Router/einer Firewall verbunden ist.

Der virtuelle Router für jede Instanz verwaltet den 10.0.2/24-Netzwerkadressraum. Alle vom Router verwalteten Adressen haben die Form 10.0.2.<xx>, wo <xx> ist eine Zahl. Adressen in diesem Bereich werden vom Emulator/Router wie folgt vorab zugewiesen:

Beschreibung der Netzwerkadresse

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

Wenn Sie sowohl Server als auch Emulator auf Ihrem Computer ausführen, bezieht sich 127.0.0.1:(port) auf den Emulator selbst und nicht auf den Server. 10.0.2.2 ist die Lösung für dieses Problem :)

Hoffe das hat geholfen

25
vlad_o

Der Grund, warum Sie 10.0.2.2 verwenden, liegt darin, dass dies der spezielle Alias ​​für Ihre Host-Loopback-Schnittstelle ist (auch bekannt als 127.0.0.1). Deshalb funktioniert es, und ist es nicht cool, dass es funktioniert?

19

Wenn Sie 10.0.2.2 für die Verbindung verwenden, wird immer auf Ihren lokalen Host verwiesen. Ich habe die echte IP-Adresse für meinen Computer verwendet, bevor ich sie gelesen habe, und sie funktioniert auf beide Arten.

Der Vorteil von 10.0.2.2 ist, dass es Ihnen egal ist, wie hoch die tatsächliche IP-Adresse ist, und Sie das Projekt einfacher auf einem anderen Computer verschieben können.

9
azertiti