Peer-to-Peer-Kommunikationsoptionen
kann jemand bestätigen, was sind die derzeit zulässigen Methoden für die peer-zu-peer-Kommunikation innerhalb des Android Frameworks? Ich brauche zu übertragen json-strings und ich bin derzeit mit SMS, die funktioniert ok, aber das problem ist, dass die Daten auch endet, wie viele text-Nachrichten. Ich habe gelesen, Reto Meier die erste Ausgabe von Professional Android Application Development, wo er sagt, dass die Datenübertragung Optionen wurden nicht umgesetzt aufgrund von Sicherheitsbedenken.
Hat dies geändert und wie würden Sie tun, peer-to-peer-übertragung von Daten?
InformationsquelleAutor der Frage John J Smith | 2011-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie sich Qualcomm AllJoyn-Bibliothek? Es ist so konzipiert, arbeiten über Bluetooth oder WLAN, so kann passen, aber wenn Sie eine Verbindung über 3G oder breitere Palette Netzwerke funktioniert es nicht.
Gegeben, die variation und Zuverlässigkeit von Netzen zwischen zwei remote-Geräte nicht im selben Netzwerk, ich würde Fragen, ob peer-to-peer ist die beste Lösung, und würde Wagen zu vermuten erwägen, die Nutzung von application-server zwischen, so dass Sie könnte dann mit Cloud-to-Device-Messaging [veraltet] (vielleicht im tandem mit Google App Engine). d.h. das senden einer Nachricht, die der Absender übergibt Sie an den server, und der server leitet es an den Empfänger.
In der Theorie alle Geräte im Netz eine eindeutige IP-Adresse und können miteinander sprechen, aber es ist selten so einfach als Router/firewalls so konfiguriert sind anders, so müssten Sie zahlen viel Aufmerksamkeit auf die ports, die Sie verwenden, insbesondere angesichts der vielen eingehenden ports blockiert aus Sicherheitsgründen standardmäßig.
InformationsquelleAutor der Antwort Ollie C
Können Sie einfach über UDP/TCP-sockets. In einem separaten thread ein, das Sie einrichten der server-Seite listener-socket und das ist es. Natürlich Ihre Anwendung zuerst gestartet werden (oder sollten im hintergrund laufen die ganze Zeit). Hier ist ein Beispiel:
http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/
Wenn Sie auch peer discovery " machen die Sache schwieriger.
InformationsquelleAutor der Antwort ldx
Sollten Sie auch einen Blick auf peerdroid, eine open-source-Projekt zur Verfügung hier. Ich habe auf der Suche im to-peer-Kommunikation Optionen aus der Sicht des habens einer Sammlung von Verbund-Geräten (pre-paired, wenn Sie möchten, ähnlich wie die Bluetooth-Kopplung); diese Bibliothek wie es aussieht kann Ihnen die Grundlage geben für das, was Sie zu tun versuchen.
Wenn Sie in Ihrem eigenen Netzwerk (beispielsweise ein Heim-oder Büro-WLAN), dann sollten Sie in der Lage sein, Abfragen für andere angeschlossene Geräte. Wenn das Netz nicht unter Ihrer Kontrolle ist (das mobile Netzwerk oder in einem öffentlichen WLAN), dann wird das Netzwerk konfiguriert wurden, zu isolieren, jedes Gerät aus alles andere. In diesem Fall haben Sie keine Wahl aber um ein server zu handeln wie der Mann in der Mitte. Das bringt seine eigenen architektonischen Kompromisse ein - jedes Gerät muss regelmäßig eine Umfrage der server, oder eine Verbindung öffnen - es sei denn, Sie nutzen den Google-App-Engine unterstützt push-Benachrichtigungen über die Google-eigenen Infrastruktur.
InformationsquelleAutor der Antwort Phil
Danke für deine Antwort ldx aber ich bräuchte peer discovery wie Sie angegeben haben. Einige weitere Forschung angezeigt, um anzugeben, XMPP als eine geeignete Technologie und es gibt jetzt einige Dienstleistungen im Angebot, obwohl diese angezeigt werden, richtet sich an "server" an client-Benachrichtigungen. Es gibt eine gute Diskussion hier auf XMPP und einige mehr hier obwohl es scheinen würde, dass es noch einige Probleme zu bewältigen wie die polling-v drücken, lange Ausführung offenen http-verbindungen und die Lebensdauer der Batterie. Xtify sieht vielversprechend aus, vor allem Ihren web-service. Ich hoffe, das liefert die richtigen Informationen an andere Blick auf das Thema peer-to-peer-Daten-Kommunikation.
InformationsquelleAutor der Antwort John J Smith
Versuchen PushSharp. Eine server-seitige Bibliothek für das senden von Push-Benachrichtigungen an iOS-Geräte (iPhone/iPad APNS), Android (C2DM und GCM - Google Cloud Message), Windows Phone und Windows 8-Geräte.
InformationsquelleAutor der Antwort Ludwo