1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

TCP-Server auf dem Handy?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von mkl, 01.06.2012.

  1. mkl, 01.06.2012 #1
    mkl

    mkl Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    316
    Erhaltene Danke:
    33
    Registriert seit:
    09.01.2011
    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.
     
  2. swordi, 01.06.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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
     
  3. mkl, 01.06.2012 #3
    mkl

    mkl Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    316
    Erhaltene Danke:
    33
    Registriert seit:
    09.01.2011
    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: 01.06.2012

Diese Seite empfehlen