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 = 'Stevie' then
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.