2011-05-30 27 views
5

Estoy tratando de conectarme al servicio web reparador que he creado a través de raíles desde mi aplicación de Android.Conexión a localhost: 3000 se negó en el dispositivo Android

Cuando intento conectar con el resto de la API implementa en http://localhost:3000 consigo este error:

Connection to http://localhost:3000 refused.

Me postulo Narwhal Natty Ubuntu.

Al acceder a esta URL a través de un navegador se obtiene la respuesta correctamente.

¿Cómo se puede resolver esto?

+0

Visitar esa URL a través de un navegador en el dispositivo no lo hará, porque el servidor no se está ejecutando en el host local, es decir, el dispositivo en sí, sino en una máquina remota. –

Respuesta

7

Si está probando su aplicación en su dispositivo, entonces localhost es el dispositivo en sí. Si está probando en el emulador y luego echar un vistazo a this documento

If you need to refer to your host computer's localhost, such as when you want the emulator client to contact a server running on the same host, use the alias 10.0.2.2 to refer to the host computer's loopback interface. From the emulator's perspective, localhost (127.0.0.1) refers to its own loopback interface.

En su caso su aplicación/actividad está intentando conectar en el puerto 3000 en el dispositivo no en el ordenador anfitrión.

+0

Sí, localhost es siempre el dispositivo o emulador en sí. El emulador tiene un alias para la interfaz de bucle invertido de la máquina de desarrollo, pero un dispositivo con conexión USB no. –

+0

ahh, vale, gracias Chris (así que también aprendí algo). Entonces la solución ingenua sería conectarse a su PC local con su dirección privada en su wlan (si tiene una) – thomas

+0

Sí. Vaya chicos. Muchísimas gracias. He cambiado de host local a 10.0.2.2. – rogerstone

Cuestiones relacionadas