Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Methode zum wiederfinden eines Indy-Thread

  Alt 6. Apr 2007, 19:02
Hi,

ich benutze immer die Eigenschaft .Data vom TIdPeerThread.

Data ist vom Typ TObject, d.h. man kann dort alles ablegen,
und über Data auf den entsprechenden Thread suchen und wieder finden.
Um einen bestimmten Client zu finden muss man nur wie folgt vorgehen :

Delphi-Quellcode:
Var tmpList : TList;
    i : Longint;
    tmpClient : TClientData; // der Typ den Ihr zum identifizieren des Clients braucht(z.B. String, Longint, Record)
begin
  tmpList := myIndySerer.Threads.Locklist;
  try
    for i := 0 to tmpList.Count - 1 do begin
      if Assigned(tmpList[i]) then begin
        try
          tmpClient := TClientData(tmpList[i]);
        except
          tmpClient := nil;
        end;
        if Assigned(tmpClient) then begin
          if tmpClient.Ident = sSearchIdent then begin
            // gefunden
            break; // Suche abbrechen
          end;
        end;
      end;
    end;
  finally
    myIndyServer.Threads.unlockList;
  end;
end;
Greetz DataCool
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat