AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TidTCPServer schaltet bei Telnet Localecho ein
Thema durchsuchen
Ansicht
Themen-Optionen

TidTCPServer schaltet bei Telnet Localecho ein

Offene Frage von "jojoko"
Ein Thema von jojoko · begonnen am 22. Okt 2008 · letzter Beitrag vom 23. Okt 2008
Antwort Antwort
jojoko

Registriert seit: 7. Mär 2008
Ort: Wesseling
4 Beiträge
 
Delphi 2005 Personal
 
#1

TidTCPServer schaltet bei Telnet Localecho ein

  Alt 22. Okt 2008, 10:17
Hallo,

ich habe das Problem, das bei einer Verbindung mit Windows Telnet zu einen Indy TCP Server das locale Echo bei Telnet eingeschaltet wird.
Wenn die Verbindung aufgebaut wird ist noch kein Echo vorhanden. Wird das erste Zeichen vom Server zu Telnet gesendet wird das Echo eingeschaltet.

Wie kann man es das Echo vermeiden oder wieder abschalten ?

Gruß Jürgen

hier ein beispiel:

Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdSimpleServer,
  IdCustomTCPServer, IdEchoServer, IdTCPServer, IdContext;

type
  TForm3 = class(TForm)
    IdTCPServer1: TIdTCPServer;
    procedure IdTCPServer1Connect(AContext: TIdContext);
    procedure IdTCPServer1Execute(AContext: TIdContext);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.IdTCPServer1Connect(AContext: TIdContext);
var
  test:String;
begin
  Test:=AContext.Connection.IOHandler.ReadLn;// Eingabe noch Ohne LOCALECHO
  AContext.Connection.IOHandler.Writeln(Test);// Was geschieht hier??
  Test:=AContext.Connection.IOHandler.ReadLn;// Eingabe mit LOCALECHO
end;

procedure TForm3.IdTCPServer1Execute(AContext: TIdContext);
begin
  Sleep(1);
end;

end.
Jürgen
nicht alles, was logisch ist, hat auch einen Sinn
  Mit Zitat antworten Zitat
jojoko

Registriert seit: 7. Mär 2008
Ort: Wesseling
4 Beiträge
 
Delphi 2005 Personal
 
#2

Re: TidTCPServer schaltet bei Telnet Localecho ein

  Alt 23. Okt 2008, 15:53
Ich habe eine Möglichkeit gefunden den Fehler zu umgehen.

Wenn ich vorab die Befehlskette
#255#253#1
sende, habe ich kein lokales Echo mehr.
Die Antwort von Telnet muss ich dann natürlich abfangen.

Code:
procedure TForm3.IdTCPServer1Connect(AContext: TIdContext);
var
  Response:String;
begin
  Response:='';
  AContext.Connection.IOHandler.Write(#255#251#1); // (IAC WILL ECHO)
  while length(Response)<3 do
    Response:=Response+AContext.Connection.IOHandler.ReadChar; // Antwort muss ausgelesen werden!!!!!!
  // Hier kann jetzt noch die Antwort von Telnet weiter ausgewertet werden.
  // Response sollte den Wert #255#253#1 haben. (IAC DO ECHO)
 :
 :
end;
Falls jemand eine bessere Lösung hat nur her damit

Gruß Jürgen
Jürgen
nicht alles, was logisch ist, hat auch einen Sinn
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 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