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.