M
mkl
Erfahrenes Mitglied
- 44
Hi ich hab grad ein grundlegendes Problem.
Ich bin dran eine Netzwerkverbindung zwischen Handy und Server zu realisieren. Nun funktioniert alles super wenn ich beim Handy einen AsyncTask verwende. In diesem sende ich dem Server eine Anfrage und dieser Antwortet auf die Anfrage. Die Verarbeitung der Antwort erfolgt im selben AsyncTask. Nun ist jedoch gefordert, dass der Server permanten die Möglichkeit hat den Clients eine Nachricht zu senden. Dazu müsste ich auf dem Client ja quasie einen "Server" implementieren der immer auf ankommende Anfrage reagiert. Irgendwie fehlt mir dazu gerade die Idee? Ich muss die Datenverbindung ja über einen AsyncTask lösen, da mir sonst Android auf die Finger klopft. Aber wie kann ich einen permantenten AsyncTask erstellen? Muss ich dann in diesem Task eine while-Schleife erstellen die immer überprüft ob eine Information auf dem Socket vorhanden ist oder gibt es dafür einen elegantere Lösung ala Interrupt oder ähnliches? Außerdem sollte das ganze über ein und den selben Socket funktionieren. (Sprich wenn ich eine Anfrage an den Server senden will, muss ich zunächst überprüfen ob die Leitung frei ist) Habt ihr eine Idee wie ich dann überprüfen kann ob der Socket gerade beschäftigt ist eine Anfrage vom Server zu verarbeiten? Ich meine .isConnected() liefert ja immer true weil ich die TCP Verbindung aufrecht erhalten würde...
Wäre über Ideen und Ratschläge echt dankbar.
Ich bin dran eine Netzwerkverbindung zwischen Handy und Server zu realisieren. Nun funktioniert alles super wenn ich beim Handy einen AsyncTask verwende. In diesem sende ich dem Server eine Anfrage und dieser Antwortet auf die Anfrage. Die Verarbeitung der Antwort erfolgt im selben AsyncTask. Nun ist jedoch gefordert, dass der Server permanten die Möglichkeit hat den Clients eine Nachricht zu senden. Dazu müsste ich auf dem Client ja quasie einen "Server" implementieren der immer auf ankommende Anfrage reagiert. Irgendwie fehlt mir dazu gerade die Idee? Ich muss die Datenverbindung ja über einen AsyncTask lösen, da mir sonst Android auf die Finger klopft. Aber wie kann ich einen permantenten AsyncTask erstellen? Muss ich dann in diesem Task eine while-Schleife erstellen die immer überprüft ob eine Information auf dem Socket vorhanden ist oder gibt es dafür einen elegantere Lösung ala Interrupt oder ähnliches? Außerdem sollte das ganze über ein und den selben Socket funktionieren. (Sprich wenn ich eine Anfrage an den Server senden will, muss ich zunächst überprüfen ob die Leitung frei ist) Habt ihr eine Idee wie ich dann überprüfen kann ob der Socket gerade beschäftigt ist eine Anfrage vom Server zu verarbeiten? Ich meine .isConnected() liefert ja immer true weil ich die TCP Verbindung aufrecht erhalten würde...
Wäre über Ideen und Ratschläge echt dankbar.