![]() |
Probleme mit TIdTelnet
Hi,
ich schlage mich gerade etwas mit Telnet herum und benutze da TIdTelnet aus den Indys. Jetzt hab ich aber ein Problem. Wenn ich einen Befehl vom Client zum Server schicken will und mache dies, wie in der Demo, über eine Eingabezeile, dann funktioniert Alles wie es soll! Wenn ich aber das Gleiche über einen Button, dem ich einen Befehl hinterlegt habe, machen will, dann macht er nach jedem übertragenen Zeichen scheinbar ein <CR> und nichts funktioniert. Ich will mich übrigens auf einem Linux-Host einloggen. So funktioniert es:
Delphi-Quellcode:
und so komischerweise nicht:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var i : integer; s : string; begin if IdTelnet1.Connected then if (key = #13) then begin s := edit1.text; for i := 1 to length(s) do IdTelnet1.SendCh(s[i]); IdTelnet1.SendCh(#13); edit1.Clear; end; end;
Delphi-Quellcode:
Wenn ich nun in die Eingabezeile meinen Anmeldenahmen eingebe(in diesem Fall root) und alles mit <ENTER> bestätige, dann kommt es am Server richtig an:
procedure TForm1.Button1Click(Sender: TObject);
var s:string; i:integer; begin s := 'root'; if IdTelnet1.Connected then for i := 1 to length(s) do begin IdTelnet1.SendCh(s[i]); IdTelnet1.SendCh(#13); end; end;
Code:
Wenn ich den Button klicke, dann kommt am Server folgendes an:
login: root
Code:
:gruebel: :gruebel: :gruebel: login: r o o t Ich benutze Turbo Delphi Professional. Hoffe irgendjemand kann mir da weiter helfen. Gruß |
Re: Probleme mit TIdTelnet
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s:string; i:integer; begin s := 'root'; if IdTelnet1.Connected then for i := 1 to length(s) do begin IdTelnet1.SendCh(s[i]); end; IdTelnet1.SendCh(#13); end; |
Re: Probleme mit TIdTelnet
Handelt es sich wirklich um eine Telnet-Session ?
Oder ist nur eine "ganz normale" TCP/IP-Verbindung gefordert ? Der Unterschied ist, dass bei einer Telnet-Session je nach Art der Terminalemulation Steuercodes übertragen werden. Für eine normale, transparente TCP/IP-Verbindung sollte die Komponente TIdTCPClient verwendet werden. |
Re: Probleme mit TIdTelnet
@Phoenix
Vielen Dank, das wars! Manchmal sieht man echt den Wald vor lauter Bäumen nicht :wall: Naja, zum Glück ist jetzt Wochenende! @shmia ja, Telnet! In diesem Sinne, ein sonniges Wochenende!!! Gruß, Steffen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz