L'emulatore offre funzionalità di rete versatili che puoi utilizzare per configurare ambienti di test e modellazione complessi per la tua app. Questa pagina introduce l'architettura e le funzionalità di rete dell'emulatore.
Il router virtuale per ogni istanza gestisce lo spazio di indirizzi di rete 10.0.2/24.
- Tutti gli indirizzi gestiti dal router sono nel formato
10.0.2.xx, dovexxè un numero.
La tabella seguente mostra come gli indirizzi all'interno di questo spazio vengono preallocati dall'emulatore o dal router:
| Indirizzo di rete | Descrizione |
|---|---|
| 10.0.2.1 | Indirizzo del router o del gateway |
| 10.0.2.2 | Alias speciale per l'interfaccia di loopback host (127.0.0.1 sulla macchina di sviluppo) |
| 10.0.2.3 | Primo server DNS |
| 10.0.2.4, 10.0.2.5, 10.0.2.6 | (Facoltativi) Secondo, terzo e quarto server DNS |
| 10.0.2.15 | La rete del dispositivo emulato quando è connesso tramite Ethernet |
| 10.0.2.16 | La rete del dispositivo emulato quando è connesso tramite Wi-Fi. |
| 127.0.0.1 | L'interfaccia di loopback del dispositivo emulato |
Oltre al Wi-Fi, gli stessi assegnamenti di indirizzi vengono utilizzati da tutte le istanze dell'emulatore in esecuzione quando sono connesse tramite Ethernet. Ciò significa che se hai due istanze in esecuzione contemporaneamente sulla tua macchina, ognuna avrà il proprio router e, dietro, ognuna avrà un indirizzo IP di 10.0.2.15. Le istanze sono
isolate da un router e non possono rilevarsi a vicenda sulla stessa rete. Per
informazioni su come consentire alle istanze dell'emulatore di comunicare tramite TCP/UDP, vedi
Interconnettere le istanze dell'emulatore.
L'indirizzo 127.0.0.1 sul computer di sviluppo corrisponde all'interfaccia di loopback dell'emulatore. Per accedere ai servizi in esecuzione sull'interfaccia di loopback della macchina di sviluppo, utilizza invece l'indirizzo speciale 10.0.2.2.
Gli indirizzi preassegnati di un dispositivo emulato sono specifici dell'emulatore Android e probabilmente saranno diversi sui dispositivi reali (che probabilmente saranno anche tradotti in indirizzi di rete, in particolare dietro un router o un firewall).
Limitazioni del networking locale
Le app per Android in esecuzione su un emulatore possono connettersi alla rete disponibile sulla tua workstation. Tuttavia, le app si connettono tramite l'emulatore, non direttamente all'hardware, e l'emulatore si comporta come una normale app sulla workstation. Ciò può causare alcune limitazioni:
- La comunicazione con il dispositivo emulato potrebbe essere bloccata da un programma firewall in esecuzione sul tuo computer.
- La comunicazione con il dispositivo emulato potrebbe essere bloccata da un altro (fisico) firewall o router a cui è connessa la macchina.
Il router virtuale dell'emulatore può gestire tutte le connessioni TCP e UDP in uscita e i messaggi per il dispositivo emulato, a condizione che l'ambiente di rete della macchina di sviluppo consenta queste connessioni. Non esistono limitazioni integrate ai numeri o agli intervalli di porte, solo quelle imposte dal sistema operativo host e dalla rete.
A seconda dell'ambiente, l'emulatore potrebbe non supportare altri protocolli, come ICMP, utilizzato per "ping". L'emulatore non supporta IGMP. Ad esempio, gli utenti non possono utilizzare il comando ping per eseguire il ping della macchina host o di altri dispositivi sulla rete locale.