Re: TServerSocket/TClientSocket: Clients identifizieren???
21. Nov 2005, 23:41
1. Eine ListBox o.ä. hat eine Objects[] Eigenschaft und neben der Add() Methode auch die AddObject() Methode.
2. Jeder Socket der die beim OnClientConnect und OnClientDisconnect angegeben wird, findest du in dem Connections[] Array wieder.
3. Die Socket Instanz für jede Verbindung bleibt über ihre gesamte Lebenszeit der Verbindung die gleiche. Somit kann man Instanzenadressen nutzen.
4. Verbinde beides und vergess deinen Index/ID. Füge im OnClientConnect in der ListBox mit AddObject() den String und den Socket hinzu und beim OnClientDisconnect löscht du den Eintrag in der ListBox, den du mit Objects.IndexOf(Socket) bekommst.
5. Wenn du Aktionen auf die ausgewählten Clients machen willst, dann hole dir die Objekte aus dem Objects[] Array und nutze diese (Typecast auf TCustomWinSocket nicht vergessen).
Ein etwas kompliziertes Beispiel dazu und unkommentiert soweit findest du als abschreckendes Beispiel auf meiner HP...
|