Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

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

Re: String an alle Socket-Connections senden???

  Alt 2. Feb 2005, 08:04
Zitat von Stevie:
Außerdem verfügt ein Socket über eine Property, die Data heißt.
Dies ist ein Pointer. Dort kannst du ein beliebiges Objekt anhängen,
zum Beispiel die Anmeldedaten deines Clients, die er beim Connecten
übersenden muss. Wenn du an einen bestimmten Client etwas senden willst,
dann suchst du in deiner Socket-Liste nach dem richtigen Element.
SuchObjekt ist jetzt das Objekt, welches an dem Socket hängt, welchem du etwas schicken willst.
Dazu musst also für jeden Socket ein Objekt haben, wo du Informationen über den Client
speicherst. Du kannst auch an dieses Objekt den Socket hängen (halt andersrum als ich oben
erklärt habe). Dann kannst du über die ObjektListe laufen, etwa so:
Delphi-Quellcode:
for i:=0 to Pred(BenutzerListe.Count) do
  if TBenutzer(BenutzerListe[i]).Nickname = 'Steviethen
    TBenutzer(BenutzerListe[i]).Socket.SendText('Hallo Stevie!');
Dazu musst du beim Anmelden des Benutzers ein TBenutzer-Objekt anlegen, es in die Liste
einfügen und die Eigenschaften setzen. Beim Abmelden muss es aus der Liste wieder entfernt werden.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

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