Hi,
in den meisten Events des Servers gibt's den Parameter AThread. Dieser bezieht sich auf die Client-Verbindung, die dieses Event ausgelöst hat. Somit kannst du z.B. folgendes machen:
Delphi-Quellcode:
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
AThread.Connection.WriteLn('Hallo Welt');
end;
Wenn du aber unanhängig von einem Event was verschicken möchtest, dann geht das etwa so:
Delphi-Quellcode:
with IdTCPServer1.Threads.LockList do
try
for i := 0 to Count do
TIdPeerThread(Items[i]).Connection.WriteLn('Hallo Welt');
finally
IdTCPServer1.Threads.UnlockList;
end;
Dies sendet an alle verbundenen Clients die Nachricht.
Noch ein Tip: Die Klasse TIdPeerThread verfügt über eine Property, die sich Data nennt. Diese kann man wunderbar dazu nutzen, an den Thread die Benutzer-Daten zu hängen, um hinterher einen bestimmten Thread herauszufinden.
MfG
Stevie
P.S. Meine Beispiele sind mit
Indy 8, und könnten etwas von der 9er-Version abweichen, die du sicherlich benutzt.