# Unklarheiten bei Telnet



## IngoF (12. Okt 2021)

Hallo,

ich habe vor ein paar Jahren ein Programm geschrieben dass über die Serielle Schnittstelle kommuniziert.
So wie ich das sehe habe ich einen Thread für die Kommunikation mit der Seriellen Schnittstelle geschrieben.
Dort habe ich dann auch einen Listener benutzt um informiert zu werden wenn neue Daten vorhanden sind damit ich nicht immer pollen muss.

Da read ja blockierend ist habe ich dann auch über .available() immer vorher gecheckt ob auch wirklich was angekommen ist.

Ich habe einen Gateway für die Heizung. Jetzt muss ich von der seriellen Schnittstelle auf die telnet Schnittstelle wechsleln.

Wenn ich es jetzt richtig verstanden habe müsste alles generell auch so über Telnet machen können.
Der einzige Unterschied scheint zu sein dass es wohl keinen Listener bei Telnet gibt der mich informiert wenn neue Daten vorhanden sind.

Ist das richtig, oder habe ich da was übersehen?

Also geht am Polling bei der Kommunikation nichts ohne polling???


----------



## mihe7 (12. Okt 2021)

Ohne es getestet zu haben: mit https://commons.apache.org/proper/c...g/apache/commons/net/telnet/TelnetClient.html solltest Du alles bekommen, was Du willst (unter anderem einen TelnetInputListener).


----------



## IngoF (14. Okt 2021)

Danke für den Tipp.
Das hatte ich vorher auch schon versucht.
Allerdings hat Netbeans seltsame Fehler beim Programmieren und Compilen ausgeworfen.
Und ich hatte noch ein paar andere Verständnisfehler...
Daher habe ich es nicht geschafft den Listener "einzubauen"

Dann habe ich Google bemüht und gefunden dass es bei telnet keine Listener gibt.
Aber das betrifft ja zum Glück nicht den Apache Telnet Client.

Habe Einfach noch mal von vorne angefangen dann waren die Fehler weg. Obwohl ich den selben Quelltext hatte.
Bisher scheint erst mal alles OK. Bin aber noch nicht soweit dass ich meine Ergebnisse testen kann.

Über Telnet hat der Gateway die Telegramme nur als ASCII aus und nicht als RAW.
Daher darf ich erst mal alles mit den Telegrammen "umbauen"


----------



## IngoF (16. Okt 2021)

Inzwischen läuft es mit dem TelnetClient auch mit den EventListener.
Aber leider kann ich den TelnetClient nicht verwenden.

Der TelnetServer schickt die Daten scheinbar nicht wirklich im binary Format. Scheinbar wird das 0xff nicht gedoppelt.
Deswegen werden 0xFF und das folgende Zeichen scheinbar als Telnet Option gewertet und kommen nicht bei mir an.


----------



## mihe7 (16. Okt 2021)

IngoF hat gesagt.:


> Der TelnetServer schickt die Daten scheinbar nicht wirklich im binary Format. Scheinbar wird das 0xff nicht gedoppelt.
> Deswegen werden 0xFF und das folgende Zeichen scheinbar als Telnet Option gewertet und kommen nicht bei mir an.


Evtl. ist das einfach eine Raw Socket Connection?


----------



## IngoF (16. Okt 2021)

Ich habe jetzt den Socket genommen und damit geht es. Allerdings sind da auch keine Listener vorhanden.
Also geht wohl nichts ohne polling


----------

