Tech-Ecke / Delphi Inhalt / Indy TCP/IP Server und Client

 

     Indy TCP/IP Server und Client

 

   TCP/IP Server 

Der Server empfängt und beantwortet gesendete Daten vom Client. Nachdem man die entsprechende Komponente auf die Form gezogen hat, stellt man im Objektinspektor folgendes ein, oder setzt dies während der Laufzeit:

DefaultPort := 50000 ' oder einen anderen Port von 49151 bis 65535
Active := true

Hinter dem Ereignis OnExecute des Servers benutzt man folgenden Code, um vom Client gesendete Daten (hier ein String) empfangen und in einem TMemo anzeigen kann.

   Memo1.Lines.Add('Empfangene Nachricht: ' + AContext.Connection.IOHandler.ReadLn);
' An Client Antworten
AContext.Connection.IOHandler.WriteLn('Die Nachricht wurde erhalten');
 

   TCP/IP Client 

Der Client sendet und empfängt Daten vom Server. Damit der Client seinen Server findet müssen beide auf den gleichen Port eingestellt werden. Des weiteren muss der Client auch wissen auf welchem Rechner der Server läuft, dies geschieht über die IP-Adresse. Dazu stellt man im Objektinspekto folgendes ein, oder setzt dies während der Laufzeit:

DefaultPort := 50000 ' gleich mit Server
Host := localhost ' wenn Client und Server auf dem gleichen Rechner ausgeführt werden, oder IP Adresse des Server-Rechners

  TCPClient.Connect;
  if TCPClient.Connected then
     begin

        TCPClient.IOHandler.WriteLn('Das hier wird zum Server gesendet.');
        ' Antwort vom Server empfangen und in einem TEdit anzeigen
        Edit1.Text := TCPClient.IOHandler.ReadLn(nil);
        TCPClient.Disconnect;
     end;
 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 30.03.2013]