6
votes

La communication peer-to-peer est-elle possible sur 3G / 4G pour les téléphones intelligents?

J'essaie d'écrire une application qui transfère des données d'un dispositif Android à un autre - mais les appareils sont très probablement situés dans différentes parties de la ville, de l'état ou du pays. (La manière directe serait d'avoir un serveur central (ou tout type de serveur), mais j'essaie d'éviter d'en utiliser un).

Les données que j'essaie de passer sont du texte, des images ou une combinaison des deux.

La solution que j'ai trouvée jusqu'à présent est de communiquer avec du texte spécialement formaté ou des messages d'image; Mais cela semble loin d'être optimal. De meilleures solutions?


0 commentaires

3 Réponses :


2
votes

Utilisez Service de file d'attente simple Amazon :

Service d'attente simple Amazon (Amazon SQS) offre un fiable, fortement File d'attente évolutive et hébergée pour stocker messages lorsqu'ils voyagent entre des ordinateurs. En utilisant Amazon SQS, Les développeurs peuvent simplement déplacer des données entre les composants distribués de leurs applications qui effectuent différentes tâches, sans perdre messages ou nécessitant chaque composant être toujours disponible


8 commentaires

Ceci est une solution serveur.


@Paulsasik c'est mais vous n'avez pas besoin d'acheter du matériel coûteux.


Ce que l'Asker a dit: "La voie directe serait d'avoir un serveur Central , mais j'essaie d'éviter d'utiliser un". Donc, oui, Amazon SQS est une solution de serveur distribué, pas un serveur central et celui qu'il n'a pas besoin de construire et de maintenir pour démarrer. Je conviens que la différence est subtile, mais elle est importante et pense que cela traite très bien du problème sous-jacent, même si ce n'est pas exactement ce que l'administrateur avait à l'esprit.


Mon erreur d'être incertaine, je voudrais éviter tout type de "homme du milieu"


@pséduosudo Je comprends, vous vous rendez compte cependant que le message SMS / MMS que vous envoyez également, utilisez également un homme central, le Telco fournissant la connectivité, non? :-) Vous utilisez toujours un homme central - ce que vous voulez probablement est fiable et peut-être un qui ne se limite pas aux périphériques connectés à Internet. Peut-être que tu veux quelque chose comme Qualcomm Alljoyn? Pas sûr que cela vous convient car il est à proximité basé sur la proximité. Ne sonne pas comme ce que tu avais à l'esprit.


@ Gby Je cherche quelque chose de plus P2P qui n'utilise que le télécone du téléphone (donc par mon compréhension Internet sur 3 / 4G serait correct). Cette plage de voies ne se limite pas au WiFi ou au Bluetooth.


Ce n'est tout simplement pas possible avec 3 / 4g. Comme déjà signalé, vous ne pourrez pas utiliser d'adresses IP en raison de NAT.


Droite, j'ai commenté sans penser.



2
votes

vrai p2p n'est pas possible sur 3G.

Dans votre question, vous mentionnez que vous utilisez actuellement des messages. Je suppose que vous voulez dire SMS.

Ce que vous pouvez faire à la place utilise des mails et des pièces jointes avec un type MIME personnalisé, disons Application / Foobar-Data .

Dans votre application, on pourrait lancer une intention d'envoi contenant cette pièce jointe. L'utilisateur devait alors choisir son programme de messagerie (ou cela pourrait peut-être être automatique) et l'envoyer à celui qu'il aime. Vous pouvez également spécifier la référence à: adresse et sujet dans votre intention. Ce serait plutôt simple.

L'utilisateur distant recevrait alors ce courrier et appuyez sur la pièce jointe. Votre application serait enregistrée pour gérer le Application / FOOBAR-DATA MIMETYPE, à l'aide d'un filtre d'intention dans le manifeste et lancé automatiquement et recevez automatiquement les données. Le corps du courrier généré plus tôt pourrait également être pré-rempli d'informations sur votre application et comment l'installer, telle que "Vous avez besoin de Foobar pour voir la pièce jointe. Vous pouvez l'installer à partir de ...".

Et ainsi, à la fin, votre application pourrait à la fois envoyer des données personnalisées et la recevoir, sans s'appuyer sur un serveur dédié.


3 commentaires

Pouvez-vous justifier la déclaration 'True P2P n'est pas possible sur 3G.' avec quelques preuves? Je suis enclin à penser que cette déclaration est incorrecte.


Je ne suis pas un expert à propos de 3G, mais cela semble être, en fonction du transporteur, 1. La propriété intellectuelle n'est pas garantie d'être publique et 2. Les connexions entrantes sont à peu près filtrées si elles sont complètement bloquées. Dans ce contexte, un pair ne peut pas établir de connexion avec un autre pairs de manière fiable. Cela peut fonctionner dans un cas rare mais qui sait. La connexion devrait être médiée par un serveur. Ce n'est pas vrai p2p.


Merci pour ton explication. Basé sur votre déclaration «Cela peut fonctionner dans un cas rare mais qui sait.», J'ai édité votre réponse pour refléter la nature subjective de votre demande.



0
votes

Regardez Shazzlemail. Vous pouvez télécharger leur application et communiquer P2P sur un smartphone. L'adressage est effectué via un intermédiaire, mais tout le contenu devient P2P.


1 commentaires

Il semblerait que @pseudosudo cherchait à développer une application pour la tâche spécifique, à l'aide d'une application de messagerie ne conviendrait pas.