Wireless - (WLAN) - Chat-Anwendung
Ich bin ein Kerl Android-Entwickler und entwickeln möchten, eine ähnliche app wie Firechat für pädagogische Zwecke
Ich möchte nur wissen, welche Art von Paketen und Techniken, die ich lernen müssen zu entwickeln, um eine app wie diese
App-Features :
Ich Müssen zu entdecken, die Handys, die Wi-Fi direct und meine App auf
Als Nächstes muss ich in der Lage sein, Nachrichten zu senden und starten Sie Gerät-zu-Gerät-Kommunikation
und Wenn ich das Gerät verbinden möchten, nicht in Reichweite ist ,sollte Die Nachricht Hop von einem Gerät zum anderen, bis das Ziel erreicht ist
Ich denke, Es kann getan werden, indem erstellen ein mesh-Netzwerk
Ich ging durch ähnliche techonlogies wie serval/Firechat/Opengarden ,Aber ich bin nicht in der Lage, es zu begreifen
InformationsquelleAutor abhirulz | 2015-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als eine Verbindung herstellen können Geräte für die peer-zu-peer-Verbindung Sie haben folgende Möglichkeiten:
1. Wifi Direct
2. Bluetooth
3. Wifi-Hotspot
Hier ist ein basic-tutorial wie man einen chat über Wi-Fi direct
http://developer.android.com/guide/topics/connectivity/wifip2p.html
Und für bluetooth
http://developer.android.com/samples/BluetoothChat/index.html
Können Sie auch importieren, diese Beispiel-Projekte in eclipse durch:
1 Für WifiDirect -
Gehen Sie auf New -> Android Sample Project -> Wählen Sie API level 16 (Android 4.1.2)-> WifiDirectDemo
2 Für Bluetooth -
Gehen Sie auf New -> Android Sample Project -> Wählen Sie API level 16 (Android 4.1.2)> BluetoothChat
Wifi-Direct ist nicht dasselbe wie wifi . Auf Jelly Bean und höher, wenn Sie versuchen, verwenden Sie die WifiP2pManager API, WiFi-Direct, wird automatisch aktiviert (solange WiFi eingeschaltet ist). Wifi eingeschaltet werden kann, durch aufrufen von WifiManager wifiManager = (WifiManager) Kontext.getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(true); For ICS finden Sie in diesem stackoverflow.com/questions/8571566/...
Nach dem wifi-Direct eingeschaltet ist , für Ein, um zu sehen, B-und Umgekehrt-beide Geräte sollten erkannt werden . Zu erkennbar sein, beide Geräte sollten rufen Sie WifiP2pManager manager = (WifiP2pManager) Kontext.getSystemService(Context.WIFI_P2P_SERVICE); Und Dann Rufen Sie manager.discoverPeers(Kanal, listener) Das macht die beiden Geräte erkennbar und einander zu sehen . Daneben meine Antwort als korrekt, wenn zufrieden
Wenn ein Gerät den Namen B minimiert die app nach dem Aufruf WIFI_P2P_SERVICE , Wird es immer noch zu entdecken-in der Lage, die von anderen Geräten wie Ein, wer hat die app läuft .? und Kann ich wissen, wie übertragen von strings vom Client zum Server und server zum client übertragen, sobald die Verbindung eingerichtet ist ?
In jeder situation, wenn Entdeckung endet, erhalten Sie eine system-broadcast WifiP2pManager.WIFI_P2P_DISCOVERY_CHANGED_ACTION(müssen Sie sich für diese Absicht) können Sie den Zustand der Entdeckung, wie Absicht.getIntExtra(WifiP2pManager.EXTRA_DISCOVERY_STATE) WENN Entdeckung angehalten hat, können Sie rufen Sie l-manager.discoverPeers(Kanal, listener) Entdeckung zu machen, wieder aktiv zu werden .
InformationsquelleAutor Sahil Bahl