2010-10-04 1 views
2

Quel est le moyen le plus rapide d'envoyer et de recevoir en permanence des données entre 2 téléphones Android?Le moyen le plus rapide d'envoyer et de recevoir en permanence des données entre 2 téléphones Android

par exemple. long, lat, IM ou juste un certain nombre.

pas pour une connexion toujours active ou des services Push. L'application s'exécute au premier plan et attend des données des deux côtés.

+0

Utilisez SMS? Oh c'est vrai, ce n'est pas gratuit. J'ai toutefois l'impression que tenter d'atteindre un autre téléphone au cours de son IP ne sera pas fiable au mieux (itinérance, commutation entre wifi/3G, politiques de pare-feu des opérateurs télécoms et FAI) - vous aurez besoin d'un serveur utilisateurs, et alors vous devriez être en mesure d'obtenir une socket ouverte sur le côté qui reçoit des informations. –

+1

En fait cela dépend, comment vous voulez cette connexion constante. Ces téléphones sont-ils l'un à côté de l'autre? Alors bien sûr Bluetooth. S'il y a une certaine distance entre, je pense que le seul moyen serait de se connecter à une application côté serveur, qui gère la connexion entre les deux téléphones. Comme le téléphone A envoie des demandes au serveur toutes les n-secondes. Le téléphone B fait la même chose. Le serveur a reconnu que le téléphone A veut communiquer avec le téléphone B, il envoie donc un message pour le téléphone B seulement. –

+0

il y a la distance entre les téléphones et ma question est de savoir exactement, par quel protocole et de quelle manière. par exemple. XMPP – shaimagz

Répondre

0

Je ne suis pas un expert avec Android, mais il y a quelque chose que vous pourriez essayer via UDP si de telles connexions sont disponibles depuis la plateforme Android.

En supposant que vos périphériques possèdent des adresses IPv4 privées, vous aurez besoin d'un serveur central (avec une adresse publique IPv4) qui pourrait leur indiquer comment leur adresse privée est traduite par leur NAT. Cette adresse traduite devrait être transmise à d'autres dispositifs qui pourraient commencer à communiquer avec le dispositif initiateur via UDP. S'il n'y a pas beaucoup de communication, assurez-vous d'activer l'option 'keepalive' sur les connexions UDP.

Si tous les périphériques ont des adresses IP publiques (ce dont je doute), il vous suffit de vous mettre d'accord sur un port et d'ouvrir les connexions UDP. Les pairs ont juste à échanger leur adresse publique.

Si tous les périphériques ont des adresses IPv6, vous pouvez les utiliser tels quels (une fois que vous êtes d'accord sur un port). Les pairs ont juste besoin de les échanger d'abord aussi.

Questions connexes