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...
Wenn jemand auch gute Linken zu diese Komponenten (TidCmdTCPClient und Server) hat, kann es mich interessieren !
Vielen Dank für eure Hilfe !