TCP-Server auf dem Handy?

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.
 
permanter task mit while schleife ist aber nur als scherz gedacht oder ?

was glaubst wie lange der akku dann hält ?

des rätsels lösung ist Google C2DM
 
Danke dir. Naja auf die Idee wäre ich so auch nicht gekommen. Aber die Serverseite stammt nicht von mir und diese beinhaltet diese while... daher die Idee...

Edit: Grad n bissi überflogen dazu müsste die Serverseite aber den Google-Dienst ansprechen oder? Das ist leider nicht möglich gibts ne andere Möglichkeit der Push-Notification? Das Ding ist einfach das. Ich sende erstmalig eine Anfrag an den Server und diese wird bearbeitet. Die IP-Adresse die die Anfrage gesendet hat wir dann auf dem Server gespeichert. Wenn der Server eine Änderung in der internen Liste feststellt schickt er an alle Teilnehmer eine Nachricht über TCP. Gibt ne Möglichkeit auf diese Nachricht zu reagieren ohne das man Serverseitig etwas ändern muss?
 
Zuletzt bearbeitet:

Ähnliche Themen

S
Antworten
8
Aufrufe
511
swa00
swa00
M
  • maksimilian
Antworten
4
Aufrufe
988
maksimilian
M
M
  • MikelKatzengreis
Antworten
5
Aufrufe
126
swa00
swa00
Zurück
Oben Unten