2011-11-30 10 views
7

El emulador puede acceder al servicio web desde el host local pero mi dispositivo real no puede, aunque utilizo la dirección IP de LAN (192.168.xx.aaa) en lugar de 10.0.2.2. Por supuesto, mi móvil android fue reconocido por adb y conectó mi computadora portátil a través del puerto usb.No se puede acceder al host local desde el dispositivo Android

Ya leí algunas preguntas similares en stackoverflow pero todavía no sabía cómo acceder al servicio web desde un móvil real con Android. La respuesta a esta pregunta How can I access my localhost from my Android device? puede ser útil pero realmente no entiendo esa respuesta.

¿Alguien me ayuda? ¡Gracias!

+0

intente esto: http://stackoverflow.com/a/17603378/1600061 –

+0

Aunque sé que es tarde, pero para las personas que tienen un problema como este, por favor consulte -> 192.168.1.yyy tengo este mismo problema desde 192.168.0.yyy es para el navegador y 192.168.1.yyy para dispositivos móviles en mi caso que resolvió todo para mí. Póngase en contacto con el administrador del sistema o consulte a un programador principal. ¡Disfruta la programación! – SameerKhan1406

Respuesta

-2

¿Ha intentado usar un enrutador wifi que está conectado a su LAN? Entonces solo necesita conectarse al wifi usando su teléfono móvil y debería poder acceder (192.168.xx.aaa)

+0

Ya lo intenté. Desconecté el cable USB y conecté el móvil a la misma LAN que a la computadora portátil (ahora mi teléfono móvil y mi computadora portátil tienen la misma IP) pero sigo sin acceder al servicio web desde el móvil. – Wayne

+0

¿Puede acceder al servicio web desde una máquina diferente? ¿necesita mencionar un número de puerto? ¿Un firewall bloquea el acceso al servicio web? – rfsk2010

+0

Diferentes máquinas en la misma LAN tampoco pueden. No sé por qué huh – Wayne

7

Posiblemente el servidor web esté escuchando en la interfaz loopback pero no en la interfaz de red. Esto significa que hits en 127.0.0.1 y localhost funcionarán, pero 192.168.xxx.xxx no (ya sea desde localhost, LAN o WAN).

Para determinar qué interfaz está escuchando el servidor, busque here para obtener un comando que le diga sobre los puertos de escucha (utilicé lsof -Pan -i tcp -i udp). Luego busca el proceso de tu servidor en la lista. Para el comando lsof, si para el puerto 8888 ve algo como TCP *:8888 (LISTEN), entonces su servidor está escuchando en todas las interfaces. ¡Pero si en cambio ve algo como TCP [::127.0.0.1]:8888 (LISTEN), ha identificado su problema!

El siguiente paso para resolver su problema es configurar la configuración de ejecución de su servidor para escuchar en todas las interfaces. No sé qué servidor está utilizando, pero si puede especificar una dirección IP, entonces puede intentar 0.0.0.0. Por lo general, puede hacer esto cerca de donde le permite especificar el puerto de escucha. Por lo tanto, si usted tiene una configuración como:

--port 8888

Entonces usted puede intentar:

--port 8888 --address 0.0.0.0

0

En mi opinión, el punto por debajo es más importante para la comunidad de desarrolladores

I no soy un experto en redes; como yo, muchos desarrolladores pueden estar allí.

cambiar a 0.0.0.0:80 en httpd.conf es muy importante.

En configuraciones normales (predeterminadas), el puerto 8888 arroja un error en WAMPSERVER (incluso en el navegador de Windows). Es por eso que expliqué el entorno exacto en el que el puerto 8888 arroja un error.

La información específica acerca de qué configuración arroja el error y qué configuración funciona correctamente es más importante.

Cuestiones relacionadas