![]() |
[Indy] Freezing mit Sendcmd...
Hallo Leute,
ich versuche die Indy komponenten zu benutzen, besonders sendCmd, getResponse usw. Alles laüft, bis die Anwendung "freeze", nach der zweite Kommand...und es, trotz der Verwendung eines TIdAntiFreeze Komponents. hier ist mein Server code
Delphi-Quellcode:
procedure TForm1.IdCmdTCPServer1TIdCommandHandler0Command(
ASender: TIdCommand); var param_login, param_passwd:string; result_anmeldung : integer; begin param_login := ASender.Params[0]; param_passwd := ASender.Params[1]; .... case result_anmeldung of 2 : ASender.Response.Add('222 NICHT_ERKENNT'); 1 : ASender.Response.Add('221 FALSCHE_KENNWORT'); 0 : ASender.Response.Add('220 NO_PROBLEM'); end; end; Hier ist mein Client Code
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin // Verbindung + Befehl 'connection' und Parametern IdCmdTCPClient1.Create; try IdCmdTCPClient1.host:='127.0.0.1'; IdCmdTCPClient1.port:=6000; IdCmdTCPClient1.CommandHandlersEnabled:=true; IdCmdTCPClient1.Connect; IdCmdTCPClient1.getResponse(200); ShowMessage(IdCmdTCPClient1.LastCmdResult.Text.text); except ShowMessage('Verbindung unmöglich !'); end; login := txt_login.text; passwd := txt_kennwort.text; try IdCmdTCPClient1.SendCmd('connection$'+login+'$'+passwd, [220,221,222]); ShowMessage(IdCmdTCPClient1.LastCmdResult.Text.text); // Danach "freeze" die Anwendung finally IdCmdTCPClient1.disconnect; end; end; Vielleicht fällt mir eine Kleinigkeit... :roll: Wenn jemand auch gute Linken zu diese Komponenten (TidCmdTCPClient und Server) hat, kann es mich interessieren ! Vielen Dank für eure Hilfe ! :wink: |
Re: [Indy] Freezing mit Sendcmd...
Jetzt habe ich anders probiert :
Der Server Code :
Delphi-Quellcode:
Der Client Code :
ASender.Reply.setReply(300, 'KLAPPT');
ASender.SendReply;
Delphi-Quellcode:
Obwohl er diesen 'KLAPPT' kriegt, scheint er auf etwas anders zu warten, die Anwendung "freezt", und ich kriege eine exception der Klasse IOHandler, wenn ich den server stoppt...try CmdClient.Connect; CmdClient.SendCmd('connection$LOGIN$PASSWD'); CmdClient.getResponse([300,200]); Memo.lines.add(CmdClient.LastCmdResult.Text.text); finally CmdClient.Disconnect; end; Kann jemand mir helfen ? Danke !!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 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