Einzelnen Beitrag anzeigen

endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

Dialog mit einem Server über Indy TCP

  Alt 27. Jun 2004, 17:30
Hallo,

ich bin nun schon den ganzen Tag auf der Suche nach einem vernünftigen Beispiel
das es mir ermöglicht mit der Indy TCP Komponente eine Verbindung zu einem
Server aufzubauen, die Antworten (mehrzeilig) auszuwerten und entsprechend zu antworten.

Ich habe mich dazu durch unterschiedliche Foren gelesen und mir unterschiedliche
Beispiele angeschaut, allerdings war für mich als Anfänger nie etwas dabei
oder die Probleme die sich auch bei mir auftaten wurden in den Threads
nicht beantwortet. Auch die Indy Webseite war kaum hilfreich und
mit Google bin ich auch nicht fündig geworden.

Bisher habe ich mit folgendem Beispiel herrumexperimentiert:

Code:
program Intro;
{$APPTYPE CONSOLE}

uses
  IdTCPClient,
  SysUtils;
var
  test: string;
begin
  with TIdTCPClient.Create do try
    Host := 'www.google.com';
    Port := 80;
    Connect; try
      IOHandler.WriteLn('GET / HTTP/1.0'+#13#10);
      test := IOHandler.ReadLn;
      WriteLn(IntToStr(pos('200',test)));
      WriteLn(test);
    finally Disconnect; end;
    WriteLn('Disconnected.');
  finally Free; end;
  WriteLn('Press Enter');
  ReadLn;
end.
Allerdings war es mir hierbei nur möglich die erste Zeile
mit ReadLn der Antwort des Servers auszuwerten.
Eine Schleife die hier nun ständig ReadLn aufruft
ist sicherlich nicht die beste Lösung.

Ich wäre Euch sehr dankbar wenn Jemand ein kleines Beispiel
Projekt erstellt das variabel auf die Antworten des Servers
reagieren kann. Da ich wie gesagt erst ein paar Tagen mit Delphi
arbeite wäre ein Beispiel-code zum nachvollziehen sehr hilfreich.
  Mit Zitat antworten Zitat