So starten Sie eine lokale Netzwerk-Verbindung programmgesteuert über Wi-Fi-hotspot auf Android?
Ich will eine Verbindung zum lokalen Netzwerk über die integrierte Wi-Fi-hotspot auf Android-Geräten.
Gibt es einen Weg, um es zu erreichen?
Und wie kann die Kommunikation zwischen zwei Geräten?
BEARBEITEN:
Ich will es tun, programmgesteuert. Dann kann ich den transfer meiner eigenen Daten zwischen Geräten.
- Können Sie klären Ihre Frage. Was willst du anschließen und wie? Willst du damit sagen, Sie wollen ein Gerät anschließen (wie ein PC) an Ihrem Telefon die wifi-hotspot (also tethering) automatisch?
- Ich möchte schreiben eine app, die die Kommunikation zwischen mehreren android-Geräte. (Ich denke, es ist bis zu insgesamt 6 Geräte, da die wifi-hotspots hat die Grenze von 5 Kunden am meisten.) Zum Beispiel, einem lokalen Subnetz chatroom.
- Das wird also ein server und 5 clients im Netzwerk. Und kommunizieren kann wie server-client-Struktur.
- Es benötigt keine internet-Verbindung.
- Irgendein update? Hast du diese arbeiten?
- Ich verwende derzeit NetworkInterface.getNetworkInterfaces() finden Sie die Adresse, die beginnen mit 192.168. in einem client. Und dann mit dem gleichen lokalen Netzwerk mit 192.168.x.1. Verwenden Sie die ServerSocket-und die Socket auf eine Verbindung. Ist das richtig?
- Der server selbst muss mit der ServerSocket auf eingehende verbindungen auf einem bestimmten port und die clients würden dann die Verbindung zum server IP-Adresse an diesem port. Werfen Sie einen Blick auf NanoHttpd unten, wie es genau funktioniert, und der code ist alles dabei.
- Hey hast du gelöst yr problem?? Tun man irgendwelche Beispiel-code? Wenn ja als.plz share hier. Vielen Dank im Voraus!
- können Sie nach ein paar Codes hier, Wenn Sie schon umgesetzt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich nicht getan, bevor, also, meine Antwort ist alle Theorie.
Ich denke, was Sie tun müssen, ist zu erklären, dass ein Gerät den server und starten Sie den hotspot manuell mit einem bekannten Namen.
Start /Stopp-built-in Wi-Fi - /USB-tethering von code? (Nach dieser Frage, können Sie nicht starten-hotspot-Programm).
Sobald Sie den hotspot einrichten, starten Sie die server-app und auf ankommende verbindungen warten. Die server-app kann Ihnen zeigen, die ip-Adresse oder den Hostnamen.
Auf den clients, die Sie tun können, ein einfaches überprüfen und sehen, ob der hotspot-name ist herum und die Verbindung automatisch herzustellen, wenn Sie es finden. Siehe diesen link für den Anschluss an ein Netzwerk:
Mit WifiManager mit einem Netzwerk verbinden
Als für Ihre zweite Frage, wie zu kommunizieren, müssen Sie eine Verbindung zwischen den Geräten. Für diese, müssen Sie die ip-Adresse des Servers. Die einfachste Sache zu tun wäre, um die ip-Adresse auf die server-Benutzeroberfläche und geben Sie dann manuell auf den clients und drücken Sie auf verbinden. Es würde dann eine Verbindung zum server auf einem port bekannt, und Sie können das senden von Nachrichten zwischen client und server.
Referenz, die ich gefunden NanoHttpd, das ist ein webserver für Android. Es nutzt ServerSocket auf eingehende verbindungen zu warten.
Mögliche Antworten:
Vor ICS und nicht verwurzelt Geräte
Gibt es keine Möglichkeit können Sie eine Verbindung zu einem Gerät über wifi. Es gibt keine API zu tun. Bluetooth ist die beste option-oder Benutzer-Interaktion.
Vor ICS und gerootete Geräte
Ich bin nicht sicher, ob jemand gehackt der code, aber wenn ich versucht, eine automatische Verbindung zu einem wifi-spot aufgefallen:
Mit ICS
Mit ICS gibt es eine neue Möglichkeit zum verbinden von Geräten über wifi genannt Wi-Fi Direct.
Hier ist ein link mit einigen demos.
Dies helfen wird, zu initiieren. link1
Wenn Sie gehen, um die Entwicklung Ihrer eigenen Anwendung für jede und jeden einzelnen Klemmen(Geräte), dann finde ich für Sie die socket Programmierung wird den trick tun .
Ja , android unterstützt socket-Programmierung als java-socket-Programmierung .
1. google-java-socket-Programmierung-tutorials und dann können Sie mit dem gleichen wissen in android .
Auch tun, denken Sie daran, die nutzt internet-Berechtigungen in der manifest-Datei , das ist eigentlich etwas, was aß mein Gehirn für eine lange Zeit 🙂
Du meinst die Kommunikation zwischen wifi-fähigen Geräten ohne server wie p2p? wenn dem so ist seine wifi direct wird unterstützt von ICS check this out http://developer.android.com/reference/android/net/wifi/p2p/package-summary.html
Bevor ICS gibt es keine standard-android-API für Wi-Fi direct, obwohl Galaxy S2 über wifi-direct es nutzt proprietäre API ' s die 3rd-party-Entwickler können nicht verwendet werden.
ich weiß nicht, programmically erstellen wify-LAN,aber man kann wify-LAN manuell,dann kann man java tcp/udp-Programm wie gesagt von brianestey
"Was Ihre zweite Frage, wie zu kommunizieren, müssen Sie eine Verbindung zwischen den Geräten. Für diese, müssen Sie die ip-Adresse des Servers. Die einfachste Sache zu tun wäre, um die ip-Adresse auf die server-Benutzeroberfläche und geben Sie dann manuell auf den clients und drücken Sie auf verbinden. Es würde dann eine Verbindung zum server auf einem port bekannt, und Sie können das senden von Nachrichten zwischen client und server."
für die manuelle Verbindung befolgen Sie die Schritte
nehmen Sie Einstellungen/drahtlos&Netzwerke/portable wi-fi hotspot-Einstellungen aus dem Telefon
erstellen neuer hotspot und schalten Sie wi-fi mobiler hotspot von dort
schließen Sie alle anderen Geräte an, die hotspot-einschließlich pc
erhalten Sie ip von jedem Gerät programmically (includig pc,aber ich weiß nicht)