![]() |
Indy Server/Client Problem
Hallo,
ich habe ein Problem mit den Indy-Komponenten TIdCmdTCPClient und TIdCMDTCPServer. Ich habe eine Client/Server-Applikation, der Client soll vom Server eine Liste mit Daten abrufen. Das erste Senden eines Befehls an den Server mittels TCPClient.SendCmd( 'GETDATA', 200 ) funktioniert ohne Probleme und liefert die Daten. Wenn ich jedoch den selben Auftruf nochmal mache, blockiert der SendCmd-Aufruf, beim Server kommt auch kein Befehl an. Ich habe in die Quellen von Indy getraced und gesehen, daß der Befehl mittels write zu Server gesendet wird, dort kommt er aber nicht an. Der nachfolgende Read, welcher auf die Antwort des Servers warten, blockiert. Wenn ich nun einen Readtimeout setze, dann schlägt dieser nach der angegebenen Zeit an. Der nächste Aufruf von SendCmd funktioniert dann wieder, dann wieder nicht, dann wieder usw. Wo liegt hier das Problem? Client:
Delphi-Quellcode:
Server:
TCPClient.SendCmd( 'GETDATA', 200 );
und dann Auswerten von TCPClient.LastCmdResult.Text
Delphi-Quellcode:
procedure TformMain.OnCommandHandler_GetData(ASender: TIdCommand);
begin ASender.Reply.SetReply( 200, 'data for client' ); end; danke, MonsterJoe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz