2011-05-30 1 views
5

J'essaie de me connecter au service web reposant que j'ai créé grâce à des rails de mon application Android.Connexion à localhost: 3000 refusé sur l'appareil Android

Lorsque je tente de se connecter à l'API REST Déployé sur http://localhost:3000 Je reçois cette erreur:

Connection to http://localhost:3000 refused.

Je suis en cours d'exécution ubuntu natty narval.

En tapant cette URL via un navigateur, vous obtenez une réponse correcte.

Comment cela peut-il être résolu?

+0

La consultation de cette URL via un navigateur sur l'appareil ne l'est pas, car le serveur ne fonctionne pas sur l'hôte local, c'est-à-dire l'appareil lui-même, mais sur une machine distante. –

Répondre

7

Si vous testez votre application sur votre appareil, localhost est l'appareil lui-même. Si vous testez dans l'émulateur alors jetez un oeil à this documents

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.

Dans votre cas votre application/activité tente de se connecter sur le port 3000 à votre appareil ne doit pas à votre ordinateur hôte.

+0

Oui, localhost est toujours le périphérique ou l'émulateur lui-même. L'émulateur a un alias à l'interface de bouclage de la machine de développement, mais pas un périphérique connecté USB. –

+0

ahh, ok, merci Chris (donc j'ai aussi appris sth). Ensuite, la solution de contournement naïf serait de se connecter à votre PC local avec son adresse privée dans votre WLAN (si vous en avez un) – thomas

+0

Oui.Puis-le gars.Merci beaucoup.J'ai changé de l'hôte local à 10.0.2.2. – rogerstone

Questions connexes