Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Indy Server und Client

  Alt 19. Apr 2014, 02:39
Die Indys funktionieren nur so, dass der Client beim Server anfragt und eine Antwort erhält. (Ich bin da aber auch nicht ganz sattelfest.)
Hier gab es mal etwas zum Thema: http://www.delphipraxis.net/171226-i...o-clients.html


Deinen IndyClient solltest Du m.E. im Thread erzeugen, damit die Trennung vom Mainthread gegeben ist.
Ich habe das so gelöst:

Delphi-Quellcode:
{ TThreadTcp }

constructor TThreadTcp.Create(aGuiManager: TsoGuiManager);
begin
  fGuiManager := aGuiManager;
  FreeOnTerminate := True;
  IdTCPClient1 := TIdTCPClient.Create;
  IdTCPClient1.Host := gIdTCPClient.Host;
  IdTCPClient1.Port := gIdTCPClient.Port;
  inherited Create(False);
end;

procedure TThreadTcp.Execute;
var
  aPackage: TsoGuiDataPackage;
  S: String;
begin
  while (not Terminated) and Assigned(fGuiManager) do
  begin
    ... Kommandos senden und Ergebnisse verarbeiten
    ... Zugriffe auf Bereiche des Mainthreads mit CriticalSections absichern
  end;
  FreeAndNil(IdTCPClient1);
end;
So funktioniert das bisher ganz gut aber es kann schon sein, dass das noch nicht ganz "state of the art" ist.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat