Auf TCP Verbindung hören?

K

Kelthur

Neues Mitglied
1
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?
 
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).
 
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:
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?
 
"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 :))
 

Ähnliche Themen

M
  • MikelKatzengreis
Antworten
5
Aufrufe
127
swa00
swa00
M
  • maksimilian
Antworten
4
Aufrufe
1.208
jogimuc
J
M
  • maksimilian
Antworten
4
Aufrufe
988
maksimilian
M
Zurück
Oben Unten