2010-08-06 4 views
3

J'ai donc une application Android qui doit se connecter à un serveur socket. C'est assez simple si le serveur de socket fonctionnait sur ma machine de développement. Cependant, le serveur de socket tourne sur un serveur non seulement sur ma propre machine, mais sur un sous-réseau différent. Comment connecter mon émulateur au serveur socket? Je comprends comment le transfert de port fonctionne pour se connecter à la machine locale, mais je suis un peu confus sur la façon dont je peux le rediriger à travers un sous-réseau de ma machine dev.Réseau d'émulation Android à travers le réseau

+0

Je ne suis pas vraiment familier avec le transfert de port, mais je pense à quelque chose comme udp: 132.55.31.14: 9102 avec le protocole, l'adresse IP et le port. (Ce sont des nombres aléatoires) – Sephy

Répondre

1

Pouvez-vous accéder au serveur de socket à partir de la machine hôte de l'émulateur? Je ne sais pas pour vous, mais j'ai testé une application client en réseau sur l'émulateur Android, et il semble être en mesure d'accéder à tout ce que ma boîte de développement peut faire avec les seuls appels réseau Java standard et sans spécial setup émulateur-côté. Cela inclut l'Internet plus large.

Si vous ne pouvez pas, vous devez configurer le côté serveur pour vous assurer que le serveur est exposé à des machines distantes; Cela n'a rien à voir avec ce que vous faites sur le côté de l'émulateur Android à moins que le serveur ne soit également un émulateur Android. Cela peut avoir à voir avec les règles de pare-feu et le routage réseau standard bien sûr.

+0

Ma machine de dev peut se connecter au serveur de socket sans problème. Je vais continuer à jouer avec ça – Falmarri

+0

À quoi ressemble votre réseau, en dehors de l'émulateur? Il y a peut-être un conflit avec l'espace d'adressage de l'émulateur. –

+1

En outre, en tant que mesure de dépannage, vous pouvez créer un tunnel ssh sur la machine dev avec 'ssh server -L1234: localhost: serverport' et ensuite connecter votre application à' 10.0.2.2: 1234' pour un port 1234 pour voir si votre code net fonctionne du tout. –

Questions connexes