2

Wenn zwei (oder mehr) Geräte mit demselben Netzwerk verbunden sind und jedes meine APK installiert hat, wie kann ein Gerät effizient mit dem anderen "sprechen"? Google Play-Dienste, Wifi Direct und Bluetooth sind auf diesen Geräten leider nicht verfügbar.Lang andauernde Client-Server-Verbindung zwischen zwei Geräten

Ich dachte an die Verwendung eines Push-Benachrichtigungsdienstes von Drittanbietern, aber idealerweise brauche ich die Antwort zwischen beiden Geräten so schnell wie möglich und langlebig.


Ich habe es geschaffen Nachrichten in der Dokumentation mit den alten Client-Server-Network Discovery Sample App miteinander zu senden zwei Geräte zu bekommen. Wenn jedoch eine der Apps geschlossen ist oder den Speicher verlässt, ist die Verbindung offensichtlich unterbrochen. Daher versuche ich herauszufinden, ob dies durch einen Service möglich ist, von dem ich weiß, dass er außerhalb des Aktivitätslebenszyklus existiert.

Ich verstehe, wie eine Aktivität möglicherweise eine Verbindung zu einem Dienst herstellen, um eine Nachricht zu senden (good sample on that located here), aber von dem, was ich erfahre dies passiert alles lokal auf dem Gerät. Ist es möglich, dass dieser Austausch in einem lokalen Netzwerk stattfindet, von einer App zur anderen? Ich denke, was ich sage ist, wie kann ich eine grundlegende Client-Server-Socket-Beziehung zwischen zwei Apps einrichten, die nicht sterben werden?

Antwort

2

Es ist eine lange Zeit, aber es sollte noch funktionieren. Das Problem hier, wie ich es verstehe, ist etwas zu haben, das weiterläuft, wenn die App weg ist.

Ich erinnere mich, IntentService für diesen Zweck zu verwenden. In der onHandleIntent() haben wir es Schleife während (! StopCondition) {...}

Es war eine stabile Lösung, aber es war um kitkat Zeit.

Ich würde versuchen mit der Lösung in Ihrem ersten Absatz ausgeführt und verwaltet von IntentService, die es verfügbar halten sollte.

Verwandte Themen