Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Telnet-Server (https://www.delphipraxis.net/185904-telnet-server.html)

udo888 16. Jul 2015 14:52

Telnet-Server
 
Hallo,
ich muss eine Frage zur Programmierung des Indy-Telnet-Servers in die Runde stellen. Ich wurde jetzt ein wenig von dem Thema überrascht.

Zum Testen verwende ich als Client PuTTY. IP und Port eingestellt, gestartet. Mein Server zeigt mir über OnConnect die Verbindung an.

Ich sende über PuTTY "123". Über OnExecute lese ich die empfangenen Zeichen aus:
line:= AContext.Connection.IOHandler.ReadLn; --> In line stehen keine verwertbaren Zeichen

Der Server sendet dem Client über
AContext.Connection.IOHandler.WriteLn('Was ist?'); --> auf PuTTY korrekt angezeigt

Nun sende ich auf PuTTY wieder "123" und die Zeichen kommen ab sofort perfekt an.

Wie bekomme ich es hin, dass bereits die erste Message korrekt übertragen wird? Muss ich beim Connect irgendwelche Zeichensatz-Voreinstellungen übertragen?

Union 16. Jul 2015 15:02

AW: Telnet-Server
 
Hast Du in den PuTTY-Terminal-Optionen "implicit CR in every LF" eingeschaltet?

udo888 16. Jul 2015 15:10

AW: Telnet-Server
 
Zitat:

Zitat von Union (Beitrag 1308904)
Hast Du in den PuTTY-Terminal-Optionen "implicit CR in every LF" eingeschaltet?

Habe ich jetzt probiert, das Ergebnis ändert sich nicht.
PuTTY ist ja nur als Testclient, am Ende muss mein Server mit verschiedenen Einstellungen klar kommen.

udo888 17. Jul 2015 08:30

AW: Telnet-Server
 
Ich komme dem Problem näher.
Beim ersten OnExecute nach OnConnect steht eine Anzahl Zeichen vor dem eigentlichen Text. Bei weiteren OnExecute der selben Verbindung erscheinen diese nicht mehr, sondern nur der Text.
Weiß jemand, um was für Zeichen es sich dabei handelt und wie ich diese im Vorhinein ausschließen kann?

Union 17. Jul 2015 08:54

AW: Telnet-Server
 
Es liegt definitif an PuTTY. Der Windows-Telnet Client sendet diese Daten nicht vor der ersten Eingabe nach der Verbindung.

udo888 17. Jul 2015 10:30

AW: Telnet-Server
 
Danke für den Hinweis, ich habe das inzwischen auch schon so vermutet.

Nun habe ich den Test mit dem echten Client fortgesetzt. Im Gegensatz zu PuTTY sendet dieser die echten Daten gleich im ersten Block mit (ich protokolliere mit Wireshark).
Mein IdTelnetServer löst OnConnect und gleich OnDisconnect. OnExecute wird nicht ausgeführt. Wie komme ich an die gesendeten Daten heran?

Union 17. Jul 2015 11:06

AW: Telnet-Server
 
Kann ich bei mir nicht reproduzieren. Hast Du evtl. irgendwelche KeepAlive-Einstellungen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz