Einzelnen Beitrag anzeigen

Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Indy TCP (cmd) Server/Client

  Alt 17. Aug 2009, 15:40
Hallo zusammen,

im Moment beschäftige ich mich ein wenig mit den Indys und verwende einen IdcmdTCPServer und einen idTCPClient. Verbindung etc. steht und man kann senden und empfangen.
Nun habe ich aber ein paar Fragen auf die ich Antworten suche.

1. Der Client schickt ja an den Server ein Command und holt sich dann praktisch das Ergebnis beim Server ab.

Das habe ich so gelöst:
Delphi-Quellcode:
client.Connect;
client.SendCmd('version');
memo1.Lines.Text:=Client.IOHandler.ReadLn();
client.Disconnect;
Ist das soweit okay und voralledem ist das Ganze zuverlässig? Ich meine, was ist wenn der Sever nicht gleich die Daten parat hat, da es viele Anfragen gibt? Wartet der Client dann?

2. Wie Ihr oben seht, Connected und Disconnected der Client immer wieder. Auch bei den meisten Beispielen wird das so gehandhabt. Muss man das machen oder kann man auch
nur einmal beim Programmstart connecten und die Verbindung bleibt dann stabil?


3. Falls die Verbindung bestehen bleibt, also nicht bei jedem Befehl getrennt wird, wie kann ich den die Clients am besten unterscheiden? Bei den Sockets gab es ja einen Index
wie ist das bei den Indys? Bei "ASender: TIdCommand" beim Server habe ich keine Unterscheidungsmöglichkeit auf anhieb gesehen.


Recht herzlichen Dank für Eure Hilfe!


P.s.: Ich verwende Indy 10
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat