2010-12-04 9 views
0

J'ai écrit un serveur http Java basique en utilisant des sockets. Il a une interface REST simple et répond aux requêtes GET/POST. Je me suis mis à faire une petite application android se connectant à cette interface. Je peux me connecter à mes serveurs en utilisant les navigateurs de mon pc et aussi j'ai essayé à partir des machines virtuelles de lecteur vmware ubuntu et xp. Tout fonctionne bien. J'avais peur de tester sur émulateur donc déployé l'application sur le téléphone android. Il ne peut pas se connecter aux serveurs Java. L'appareil et le PC sont tous deux connectés au même réseau. Est-ce que je manque quelque chose ici comme la redirection de port, etc? Si c'est le problème, comment puis-je me connecter à partir de mes machines virtuelles?Android se connectant à Java ServerSocket local?

Toute aide/suggestion est appréciée.

Cordialement, Lalith

Répondre

1

Pouvez-vous avoir oublié de mettre peut-être la permission d'Internet? Vous en avez besoin dans votre manifeste android.

<uses-permission android:name="android.permission.INTERNET" /> 

/Stefan

+0

Non .. :) Je suis passé ces problèmes maintenant .. – Lalith

1

Pouvez-vous connecter à ce serveur depuis un autre PC fonctionnant sur le même réseau? (Ce n'est pas la même chose que de se connecter à partir d'une machine virtuelle exécutée sur la même machine que le serveur)

Si ce n'est pas le cas, vous risquez de rencontrer un problème de pare-feu sur le PC.

Vous devez également tester sur l'émulateur android, utilisez l'alias pour l'adresse de l'interface de bouclage de l'hôte que vous pouvez trouver dans les documents de l'émulateur.

+0

Je dois l'essayer correctement .. va vérifier les trucs de l'émulateur. Merci. – Lalith

+0

Ah est juste venu à mon laboratoire et l'a essayé. J'ai toujours pensé que lorsque mon ordinateur portable est connecté au laboratoire wifi, j'ai supposé qu'il se comporterait comme n'importe quel autre PC du réseau. Si j'exécute les requêtes GET depuis mon ordinateur portable vers un serveur sur n'importe quelle machine de laboratoire, cela fonctionne. Même android est capable d'envoyer la requête GET via la programmation de socket. J'ai essayé d'utiliser apache HTTPClient, mais il n'accepte pas les adresses IP, ce qui est bizarre .. Je vais regarder dans. Merci pour vos suggestions. – Lalith

Questions connexes