Visualizzazione stampabile
-
Ho cercato su internet l'ultimo errore:dicono che il problema potrebbe essere dovuto al fatto che il client non riesca a creare una Socket IPv4 in quanto IPv4 potrebbe essere disabilitato nel SO. Come faccio a controllare e ad abilitare IPv4 nel caso non lo fosse già? Credi possa essere questo il motivo per cui il mio client non funziona?
-
Quote:
Originariamente inviato da
joaocominho
Ho cercato su internet l'ultimo errore:dicono che il problema potrebbe essere dovuto al fatto che il client non riesca a creare una Socket IPv4 in quanto IPv4 potrebbe essere disabilitato nel SO. Come faccio a controllare e ad abilitare IPv4 nel caso non lo fosse già? Credi possa essere questo il motivo per cui il mio client non funziona?
Parli del thread su Oracle che ho trovato anch'io? Se vai avanti trovi altre eventuali spiegazioni.
Personalmente non credo che android abbia problemi con IPv4 quindi non so se può essere quella la questione... non vorrei centrino firewall e proxy con le relative configurazioni su emulatore... Hai qualcosa del genere nella rete di casa? Potrebbe dare noie anche se fai la chiamata su localhost...
Altrimenti sempre quel thread consigliava di dare un occhi al /etc/hosts, ma se il file fosse a signorine credo non andrebbe neanche il client stand-alone fuori da android.
-
Quote:
Originariamente inviato da
Cymon
Parli del thread su Oracle che ho trovato anch'io? Se vai avanti trovi altre eventuali spiegazioni.
Personalmente non credo che android abbia problemi con IPv4 quindi non so se può essere quella la questione... non vorrei centrino firewall e proxy con le relative configurazioni su emulatore... Hai qualcosa del genere nella rete di casa? Potrebbe dare noie anche se fai la chiamata su localhost...
Altrimenti sempre quel thread consigliava di dare un occhi al /etc/hosts, ma se il file fosse a signorine credo non andrebbe neanche il client stand-alone fuori da android.
Ho trovato la soluzione su questo link:Android Emulator | Android Developers
La parte che ci interessa è questa qui:
"Setting up Redirections through the Emulator Console":
Each emulator instance provides a control console the you can connect to, to issue commands that are specific to that instance. You can use the redir console command to set up redirections as needed for an emulator instance.
First, determine the console port number for the target emulator instance. For example, the console port number for the first emulator instance launched is 5554. Next, connect to the console of the target emulator instance, specifying its console port number, as follows:
telnet localhost 5554
Once connected, use the redir command to work with redirections. To add a redirection, use:.
add <protocol>:<host-port>:<guest-port>
where <protocol> is either tcp or udp, and <host-port> and <guest-port> sets the mapping between your own machine and the emulated system, respectively.
For example, the following command sets up a redirection that will handle all incoming TCP connections to your host (development) machine on 127.0.0.1:5000 and will pass them through to the emulated system's 10.0.2.15:6000.:
redir add tcp:5000:6000
Praticamente da quello che ho capito è come se ogni emulatore avesse una sorta di router virtuale proprio. Lanciando due emulatori diversi si vengono a creare due router virtuali diversi. Quindi il numero di porta che gli andiamo a passare, non è quello del mio pc, ma quello dell'emulatore!! Con il comando di sopra, la "redir", andiamo ad associare la porta del pc a quella dell'emulatore.
Ora il client e il server comunicano ma....che casino! :p
Grazie per la disponibilità Cymon e buona giornata!
-
Quote:
Originariamente inviato da
joaocominho
Ora il client e il server comunicano ma....che casino! :p
Grazie per la disponibilità Cymon e buona giornata!
Grazie a te! Dopotutto sono informazioni interessanti che possono sempre servire!
Effettivamente ogni tanto capita di dimenticarsi che l'emulatore android è una vera e propria macchina virtuale e quindi ha bisogno delle sue cose "virtuali" :p