2010-11-02 4 views
1

Création d'une application nécessitant des messages entre les appareils mobiles (iPhone, iPad, iPod Touch) via les réseaux WiFi ou 3G. Les messages ne sont pas directement entre les périphériques, mais passent par un serveur qui gère cette application. Chaque périphérique mobile doit pouvoir envoyer un "message" au serveur et les serveurs doivent envoyer des messages aux clients (idéalement, sans que les clients aient besoin d'interroger constamment).Communication vers le mécanisme de serveur dans les applications iPhone/iPod Touch/iPad

Le protocole UDP peut-il être utilisé de manière bidirectionnelle pour transmettre des messages entre les serveurs des appareils mobiles? le serveur a une adresse IP connue, mais qu'en est-il des périphériques sur les réseaux 3G? qu'en est-il des périphériques en Wifi derrière un routeur? il peut être impossible de les atteindre. A la lumière de cela, est-ce qu'il n'y a pas d'autre choix que de concevoir une solution dans laquelle les appareils mobiles clients "interrogent" le serveur pour leurs messages plutôt que le serveur qui initie une session de communication avec eux?

Des schémas ou des discussions sur ce sujet dont je peux bénéficier?

Répondre

1

Je recommanderais une approche d'interrogation basée sur HTTP. Si pour aucune autre raison, il y a beaucoup de code existant et d'expérience que vous pouvez tirer. L'iPhone est un appareil très orienté Web et le travail client HTTP est relativement facile et rapide. Les sondages pour les mises à jour devraient être assez simples et, je pense, suffiraient à tous, sauf aux besoins de communication les plus courants.

+0

Merci. Je le pensais, la seule autre façon d'utiliser la messagerie bidirectionnelle sans polling et sans rencontrer de problèmes NAT est de garder les connexions TCP constantes ouvertes. Pas le plus optimal des méthodes. – JasonGenX

Questions connexes