V
Viper2000
Ambitioniertes Mitglied
- 4
Hallo,
ich hab mal ne Frage zum Software-Design einer Funktion meiner Applikation. Ich möchte über einen Netzwerk-Socket in einer Schleife so schnell wie möglich Daten von einem Server lesen und bei jedem Schleifendurchlauf die GUI mit den gelesenen Werten aktualisieren. Ich habe solch eine Schleife inklusive Netzwerk-Funktionalität nun direkt am Handy getestet und (ohne GUI aktualisierung) eine Frequenz von ca. 10 anfragen pro Sekunde erreicht. Das ist super, allerdings blockiert das ganze momentan meinen Main-Thread. Die applikation friert also ein da unentwegt Daten gelesen werden.
Das ganze müsste also während der Laufzeit der App ständig im Hintergrund laufen. Die Gui müsste nach jeder Netzwerk-Abfrage aktualisiert werden und Eingaben die der Benutzer an der Gui vornimmt an den Socket übergeben werden (Der Server wird nämlich nicht nur abgefragt sondern es werden auch Befehle zum Server übertragen die die Art der zurückgelesenen Daten ändern).
Wie sollte ich das Softwaretechnisch umsetzen? Bin für jegliche Hilfe dankbar!
Viele Grüße
Viper
ich hab mal ne Frage zum Software-Design einer Funktion meiner Applikation. Ich möchte über einen Netzwerk-Socket in einer Schleife so schnell wie möglich Daten von einem Server lesen und bei jedem Schleifendurchlauf die GUI mit den gelesenen Werten aktualisieren. Ich habe solch eine Schleife inklusive Netzwerk-Funktionalität nun direkt am Handy getestet und (ohne GUI aktualisierung) eine Frequenz von ca. 10 anfragen pro Sekunde erreicht. Das ist super, allerdings blockiert das ganze momentan meinen Main-Thread. Die applikation friert also ein da unentwegt Daten gelesen werden.
Das ganze müsste also während der Laufzeit der App ständig im Hintergrund laufen. Die Gui müsste nach jeder Netzwerk-Abfrage aktualisiert werden und Eingaben die der Benutzer an der Gui vornimmt an den Socket übergeben werden (Der Server wird nämlich nicht nur abgefragt sondern es werden auch Befehle zum Server übertragen die die Art der zurückgelesenen Daten ändern).
Wie sollte ich das Softwaretechnisch umsetzen? Bin für jegliche Hilfe dankbar!
Viele Grüße
Viper
Zuletzt bearbeitet: