1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Kelthur, 17.10.2011 #1
    Kelthur

    Kelthur Threadstarter Neuer Benutzer

    Hallo,

    ich möchte in meiner App eine Funktionalität einbauen welche auf eine TCP Verbindung "hört", d.h. wenn ich über TCP etwas empfange soll eine Methode gestartet werden (das Androidgerät ist mit einem Servergerät verbunden welches mir etwas schickt), ich habe nach einem Broadcast gesucht, der auf eingehende TCP Verbindungen lauscht (wäre auch etwas sinnfrei glaub ich), aber nicht fündig geworden. Habt ihr vieleicht einen Tipp wie sich das einrichten lässt?
     
  2. DieGoldeneMitte, 17.10.2011 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Eigentlich ganz einfach: Du kannst wie in einem normalen Java(Desktop) Programm auch einen java.net.ServerSocket öffnen (Kannst ein ganz normales Java Tutorial dafür nutzen).

    Das ganze müsstest du natürlich in einem Android Service machen, wenn das Programm nicht im Vordergrund bleiben soll. Wenn du bei der Verbindung zu dem Socket etwas sichtbares tun willst, müsstest du von deinem Service aus einen intent zum Start einer normalen App losfeuern (das kann dann aber mit dem Service Teil der selben App sein).
     
  3. Kelthur, 17.10.2011 #3
    Kelthur

    Kelthur Threadstarter Neuer Benutzer

    Ich glaub ich habe mich da etwas falsch ausgedrückt, ich habe bereits ein Socket ein in- und ein outputstream, zu den Servergerät. Das Servergerät schickt mir jede Sekunde mehrere 3 Byte Sequenzen, ich möchte nun die diese Sequenzen auswerten und auf meinen Bildschirm in Echtzeit bringen. Sozusagen dass ich jede Sekunde den alten Wert aktualisiere.

    *edit* das Programm soll im Vordergrund bleiben. Welchen Service meinst du jetzt in diesen Fall?
     
    Zuletzt bearbeitet: 17.10.2011
  4. ko5tik, 17.10.2011 #4
    ko5tik

    ko5tik Android-Experte

    Auch wenn es im Vordergrundbleiben soll, sollte die Socket-Communikation ( insbesondere warten auf Daten) in eine separaten Thread stattfinden. Und wenn deine
    Aktivität aus dem Vordergrund fliegt, sollte dies Thread gestoppt und Socket fraigegeben werden.

    Vielleicht doch lieber service?
     
  5. DieGoldeneMitte, 17.10.2011 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    "Android Service" werden Androidprozesse genannt, die im Hintergrund weiter aktiv bleiben können und a priori keine eigene UI haben.

    Das mit dem Servergerät sollte eigentlich kein Problem sein. Wie gesagt, du kannst einen ServerSocket öffnen und eingehene TCP Pakete nach belieben empfangen verarbeiten.

    Du hast aber den Begriff "Broadcast" in den Raum geworfen. Sowas gibt es bei TCP nicht (und um Sekundenweise ein paar bytes zu verschicken klingt TCP nicht nach der richtigen lösung). Dafür gibt es andere IP Protokolle wie UDP (die in Java mit DatagramSockets realisiert werden) oder iCMP (da muss ich zur Java Integration passen :))
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Verbindung zu MS SQL DB von App aus möglich? Android App Entwicklung 05.09.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
Tutorial gesucht (Entwicklung,SQL Verbindung) Android App Entwicklung 03.03.2017
Feststellen, ob Bluetooth-Verbindung noch existiert Android App Entwicklung 07.02.2017
Verbindung zu FTP Server schlägt fehl Android App Entwicklung 10.01.2017
TCP C# / WearApp und dann kam Tizen Android App Entwicklung 05.10.2016