Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 12. Nov 2004, 07:14
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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat