Est-il possible de connecter une prise entre deux appareils mobiles (iPhones) via Internet?

StackOverflow https://stackoverflow.com/questions/811298

  •  03-07-2019
  •  | 
  •  

Question

Est-il possible de connecter une prise entre deux appareils mobiles (iPhones) via Internet?

J'essaie de découvrir l'adresse IP de chaque périphérique et de me connecter directement. Je sais que cela peut être fait avec Bonjour, mais cela ne fonctionne que sur les réseaux locaux. J'ai besoin d'une connexion haut débit entre deux appareils sur Internet.

Merci.

Était-ce utile?

La solution

Si vous aviez à la fois l'adresse IP et qu'elles étaient routables, cela devrait être possible. Je ne sais pas si les adresses IP transmises par le réseau 3G sont routables. Si vous utilisez le WIFI, l’IP que vous obtenez n’est certainement pas routable. En supposant que vous ayez une adresse IP routable, cela devrait être possible.

Le truc consiste simplement à découvrir l'adresse IP de l'autre périphérique. La meilleure façon de le faire serait probablement de laisser chaque appareil enregistrer son adresse IP avec un service Web au démarrage de votre application, puis interroger ce service pour trouver les adresses IP d'autres appareils.

La gestion de "désinscription" peut s'avérer un peu délicate. Les adresses IP lorsque l’application est fermée ou lorsqu’une adresse IP est modifiée, mais cela devrait être faisable.

ETA:

Si vous avez un serveur auquel ils peuvent se connecter tous les deux, vous devriez pouvoir implémenter une solution utilisant ce serveur (c'est-à-dire sans que les téléphones se connectent directement les uns aux autres). Cela éviterait d'avoir des adresses IP routables pour les téléphones.

En ce qui concerne la façon de relier les sockets, votre programme de serveur fonctionnerait comme un standard téléphonique. Vous auriez une sorte d'inscription et amp; protocole de découverte intégré au logiciel serveur permettant à un téléphone de s’inscrire lui-même auprès du serveur, d’interroger une liste des autres téléphones actuellement connectés au serveur, d’indiquer à quel téléphone il veut parler et d’accepter les connexions d’autres téléphones.

Une fois qu'il sait qui veut parler à qui, votre logiciel de serveur connectera les deux en lisant l'une des prises d'un téléphone et en écrivant ces données dans la prise de l'autre.

Autres conseils

Seulement une suggestion, mais si vous pouvez amener chacun d'eux à se connecter à un troisième site, vous connaissez alors l'adresse de chacun d'eux. Envoyez l'adresse du téléphone A au téléphone B (et / ou du téléphone B au téléphone A), puis laissez-les se connecter à votre guise.

Avez-vous examiné toutes les fonctionnalités de la version 3.0? Mise en réseau entre pairs (dont l’existence est publique).

Les routeurs WiFi ont souvent une fonctionnalité appelée "Déclenchement de port". qui permet aux hôtes internes (dans ce cas, un iPhone) d’informer le routeur qu’ils aimeraient recevoir une connexion sur un port donné. Je n'ai aucune idée si l'iPhone prend en charge ce protocole.

Pour la recherche IP, vous pouvez utiliser DynamicDNS si les deux hôtes sont connus à l'avance OU comme indiqué ci-dessus un service Web personnalisé s'ils ne sont pas (c'est-à-dire que des amis échangent leurs noms d'hôte contre des inconnus qui se découvrent)

Ceci est un vieux fil, mais je viens de le trouver. Vous pouvez utiliser un serveur STUN (ou NAT-PMP) pour obtenir le combo adresse IP / port public, puis l'envoyer par SMS à l'autre téléphone. Tant que vous ouvrez un port d’écoute sur le premier appareil, votre deuxième appareil peut simplement se connecter directement à l’aide de l’adresse IP publique que vous lui avez envoyée dans le SMS (le registre push SMS peut automatiquement réveiller votre application sur le deuxième appareil. faire cela)

J'ai rencontré ce problème avec une application que je développais. J'essayais de me connecter à une carte cellulaire PC à partir d'un iPhone. Le problème est que AT & T n'active pas la terminaison mobile pour les iPhones, il est donc physiquement impossible à deux téléphones d'un réseau AT & T de se connecter l'un à l'autre. Ceci provient directement d’un ingénieur en antenne AT & T.

J'ai pu le faire fonctionner en connectant le VPN de l'iPhone à un serveur, puis en le connectant à la carte de cellule du PC, mais cela ne fonctionnerait pas.

J'ai le sentiment très fort (mais aucune preuve) que l'adresse de l'iPhone ne sera pas routable. Cela dépend bien sûr de l'opérateur, mais AT & T donne des adresses 10.x.x.x.

Apple possède un exemple (de bureau) qui utilise Bonjour pour implémenter le mappage de port sur un routeur WiFi prenant en charge UnPnP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top