Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 10, Command Handlers (https://www.delphipraxis.net/39212-indy-10-command-handlers.html)

HenryX14 30. Jan 2005 14:22


Indy 10, Command Handlers
 
Hallo,

ich habe folgendes Problem:

Zum Testen und ausprobieren der neuen Indy 10 CMDTCPServer und Client habe ich folgende, denkbar einfachen Aufbau:
Der Client stellt die Verbindung mit dem Server her -> der Server sendet den Command "TEST" zum client -> jetzt sollte der Client im Programm sich melden, dass er den Command "TEST" empfangen hat - tut er aber nicht!
Unter Telnet habe ich das schon getestet: Der Server schickt aus jeden Fall den String TEST an die Telnet-Konsole!
Warum registriert der Client also nicht den einkommenden Cmd??

Hier ein bischen Quellcode, damit ihr wisst wovon ich rede:

Der Client stellt die Verbindung her:
Delphi-Quellcode:
  try
    idcmdtcpclient1.Connect;
    Memo1.Lines.Add('Ok, Verbindung steht.');
  except
    memo1.Lines.Add('Konnte mich nicht verbinden');
  end;
Der Server macht dann folgendes:
Delphi-Quellcode:
memo1.Lines.Add(AContext.Connection.Socket.BoundIP);
try
  memo1.Lines.Add('sende LIST...');
  AContext.Connection.SendCmd('TEST');
  memo1.Lines.Add('TEST erfolgreich gesendet!');
except
  memo1.Lines.Add('Konnte TEST nicht senden');
end;
Dann sollte der Client folgendermaßen reagieren:
Delphi-Quellcode:
Memo1.Lines.Add('Command: "TEST" erhalten.');
ASender.SendReply;
Wäre für eine Hilfe sehr dankbar!

Henry

Flax 31. Jan 2005 12:11

Re: Indy 10, Command Handlers
 
Bei SendCMD werden Terminatoren benutzt die das Ende eines Strings amzeigen.

Sind auf dem Server und Client die gleichen Terminatoren definiert ?

Flax 31. Jan 2005 12:12

Re: Indy 10, Command Handlers
 
.. und wie reagiert der Client auf die Daten ? Da muss ja irgendeine Art ReadString laufen. Z.B. in einem Thread.
Wird das gemacht ?

Kenne jedoch nicht Indy 10, blos 9!

HenryX14 3. Feb 2005 08:29

Re: Indy 10, Command Handlers
 
Danke schonmal für die Antwort!

Als als Delimiter der Nachricht habe ich bei beiden das standardmäßig eingestellte #34. das is glaube ich ein leerzeichen...
Zitat:

.. und wie reagiert der Client auf die Daten ? Da muss ja irgendeine Art ReadString laufen. Z.B. in einem Thread.
Wird das gemacht ?
mmhh, ich dachte das wäre das gute an diesen cmd handlern - dass die das alles erledigen. schließlich habe ich beim server auch keine readstring method und es klappt wunderbar... Das problem ist ja, das der client nicht das entsprechende command event aufruft...es erscheint ja nichts im memo.

Henry

UweR 4. Feb 2005 08:05

Re: Indy 10, Command Handlers
 
Hallo Henry,

ich arbeite bei mir auch nicht mit 10 sondern mit 9, deshalb kann ich auch daneben liegen, aber unter Indy 9 kann ich meinem Client gar keinen Command-Handler verpassen. Zumindest gibts keine published Property dazu.

HenryX14 4. Feb 2005 15:51

Re: Indy 10, Command Handlers
 
Bei Indy 10 gibt es eine seperate Komponente (sowohl client als auch serverseitig): IdCMDTCPServer bzw ..Client. Die arbeiten vom Prinzip her nur mit den CMD Handlern, was ich eigentlich sehr praktisch finde, wenn es denn so klappen würde, wie ich mir das denke...

Henry


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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