Hallo,
ich bin auf dem Gebiet
Indy mehr oder weniger komplett neu. Habe mir bisher eine Anwendung zusammengeschrieben, die eigentlich auch wunderbar funktioniert. Das Problem tritt auf wenn der Server läuft und sich der erste Client verbindet. Dann springt die CPU-Last auf 100% (bei meinem Dual-Code halt auf 50%) - wieso?!?
Ich poste mal den folgenden Code, den ich in einer minimalen (!!!) Test-Anwendung benutze:
Delphi-Quellcode:
// Komponenten auf Server-Form: TIdTCPServer, Button1
// Code für Button1
procedure TForm1.Button1Click(Sender: TObject);
var
s : TIdSocketHandle;
begin
if not Server.Active then
begin
Server.DefaultPort := 50000;
s := Server.Bindings.Add;
s.IP := '127.0.0.1';
s.Port := 50000;
Server.Active := True;
end
else begin
Server.Bindings.Clear;
Server.Active := False;
end;
end;
// --------------------------------------------------------
// Komponenten auf Client-Form: TIdTCPClient, Button1
// Code für Button1
procedure TForm1.Button1Click(Sender: TObject);
begin
Client.Connect('127.0.0.1', 50000);
end;
Kann mir das irgendwer weiterhelfen?! Oder ist das normal, dass ich da 100% CPU-Auslastung habe? Ich hoffe doch nicht!
PS: Selbst bei der Chat-Demo (von den Indys) ist das so...
PPS: Nutze die Standard-Indys von Delphi 2005, d.h.
Indy 10.
mfg Armin
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)