Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android TCP Socket im Hintergrund/Stand-by (https://www.delphipraxis.net/187538-android-tcp-socket-im-hintergrund-stand.html)

TerryX 7. Dez 2015 14:13


Android TCP Socket im Hintergrund/Stand-by
 
Hallo,

ich habe dass Problem, dass ich bei meiner Android Applikation
eine TCP-Verbindung zu einem Server aufbauen muss, um darüber Daten zu senden und zu empfangen (Polling)

Aktuell verwende ich die Indy idTCPClient Komponente. Solange die App aktiv ist und benutzt wird, ist dies auch kein
Problem aber sobald dass Android Gerät in den Stand-by-Modus(nach dem Sperren des Bildschirms) wechselt wird die Verbindung nach einiger Zeit einfach abgebrochen. Ich gehe davon aus, dass dies Android seitig mit Energiesparoptionen der CPU oder Ähnlichem zu tun hat.

Ich brauche Eure Hilfe.
Wie stelle ich es an, dass die Verbindung auch bei Nichtbenutzung der App die TCP-Verbindung offen hält?

Liebe Grüße

mensch72 7. Dez 2015 17:27

AW: Android TCP Socket im Hintergrund/Stand-by
 
selbst wenn es ginge, man macht sowas im Hintergrundpolling es wegen Akku nicht!

Für Android gibt es GCM als GoogleCloudMessaging als Eventbasierten PushService. Android als OS benachrichtigt dann dich auch wenn im Hintergrund auch wenn im LockScreen.
Ständiges abpollen per TCP-Client is unschön. Lass das OS für dich arbeiten und baue die Verbindung erst auf, wenn du vom OS "geweckt" wirst und schließe die Verbindung, wenn das OS dich schlafen schickt.

Ein Mittelding wäre ein UDP BroadCastReceiver... dann weckt dich das OS auch, wenn die Gegenstelle dir ein paar "Wakeup-Daten" per UDP auf einen Port schickt.

Aber GCM (bzw. das was Apple als Gegenstück im IOS hat) sind aber genau dafür gemacht und sollten deshalb auch benutzt werden.
Den UDP Broadcast Zauber würde ich nur in einem abgeschlossenem lokalem Netzwerk ohne INET Verbindung machen.

TerryX 8. Dez 2015 08:21

AW: Android TCP Socket im Hintergrund/Stand-by
 
Danke für deine Antwort!
Ich werde mich mal einlesen


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz