Wie kann ich schließen Sie zwei Android-Gerät-Steckdose ohne server
Ich versuche zu entwickeln, die ein android-Anwendung, die den Datenaustausch über peer-to-peer-Verbindung mit anderen Geräten ohne server. Also bitte vorschlagen, wie kann ich dies tun. Vielen Dank im Voraus.
- Sie tun es, wie jede andere socket-Kommunikation.
- Können geben Sie keine Referenz, da ich neu bin in der socket-Kommunikation.
- Sie will es auch gar nicht um ein android als server und der andere ist der client
- Ist es möglich? haben Sie eine Referenz ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Java bietet ServerSocket und Buchse zu kommunizieren b/w-Geräte. Eines der Geräte, die Sie treffen können, da server und andere Geräte können Sie machen, wie Sie Kunden und kommunizieren b/w 'em ohne die Einführung gehosteten server auf eine Maschine.
Die Andere und bessere Möglichkeit ist die Verwendung Wi-Fi Peer-to-Peer. WifiP2pManager helfen, Sie zu erreichen Ihren Zweck.Hier ist ein Beispiel.
Dies ist eine vollständige code für die chat SocketProgramming ohne server.
In meiner Anwendung, Sie werden zuerst eine client-und Sie suchen nach einem server. Wenn Sie nicht finden, alle server zu einem server und zu warten für einen client.
Wenn Sie sich für eine solche P2P-über ein lokales Netzwerk, gibt es zwei Komponenten:
Unter den Android-APIs, können Sie entweder Network Service Discovery APIs für diese oder Wifi P2P Service Discovery APIs.
Es ist eine wrapper-Bibliothek, die verwendet diese intern und hat vergleichsweise bessere Dokumentation - Salut, die ebenfalls verwendet werden können.
Ich auch erstellt eine Bibliothek für P2P - Nähe, die verwendet sockets direkt. Das problem, das ich konfrontiert war mit Android APIs war, die Entdeckung war nicht passiert mit Sicherheit jedes mal, und das zugrunde liegende Problem nicht bekannt war.
Wenn Sie auf der Suche für P2P-über das internet, socket IO ist eine weit verbreitete Lösung. Auch in der Nähe sollte in der Lage sein, zur Erleichterung des transfers, wenn Sie die IP-Adressen, und Sie sind nicht hinter NAT-firewalls.
Ihre design hat ein großes problem : ...
Wenn es keine zentralen server einige android-Geräte handeln sollte, wie client und der andere als server, aber das wird nicht in einigen Situationen arbeiten:
Wenn der Mobilfunk-provider zuweist, privaten und nicht-öffentlichen IP -
Wenn das Gerät eine Verbindung mit einem Wi-Fi-Netzwerk, aber keine NAT Regel definiert ist, wird auf dem router.
In beiden Fällen das problem, dass der listening-port des Geräts, die handeln müssen, wie server nicht erreichbar ist.