> Here is what I have,
> and please see the line for the client number,
> Now I at least now where should I define it, just need to find out how?
> ---------------------------------------------------------------------------------------
> procedure TSimpleSslServerForm.SslWSocketServer1ClientConnect(
>   Sender : TObject;
>   Client : TWSocketClient;
>   Error  : Word);
> begin
>   with Client as TTcpSrvClient do begin
>       Display('Client connected.' +
>               '[]' + ///Here I need to get the client number into the
> brackets....
>               ' Remote: ' + PeerAddr + '/' + PeerPort +
>               ' Local: '  + GetXAddr + '/' + GetXPort);
>       Display('There is now ' +
>               IntToStr(TWSocketServer(Sender).ClientCount) +
>               ' clients connected.');
>       LineMode            := True;
>       LineEdit            := True;
>       LineLimit           := 80; { Do not accept long lines }
>       OnDataAvailable     := ClientDataAvailable;
>       OnLineLimitExceeded := ClientLineLimitExceeded;
>       OnBgException       := ClientBgException;
>       OnSslVerifyPeer     := ClientVerifyPeer;
>       ConnectTime         := Now;
>   end;
> end;

Actually, TWSocketServer(Sender).ClientCount-1 will be your client
number, until one of the client disconnect.

Since it's a dynamic array, when a client disconnect, the client
number will change.

That`s why you need another way to identify your clients.

From memory, when my client connected, they would send the server
their unique ID and I would store that into a property of the client
socket. You have to derive your client socket and add properties to
it.

Something like :

  TTcpSrvClient = class(TWSocketClient)
  public
    ConnectTime : TDateTime;
    UniqueID : string;
  end;

then you assign that client socket in the server initialization (in
the TcpSrv demo,in WMAppStartup) :

    WSocketServer1.ClientClass := TTcpSrvClient; { Use our component }

Then when I wanted to send a command to a particular client, I would
just iterate all connected client searching for the right ID.

hth
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to