Class 예제:
TConnection = class
public
  IDs: array[0 .. MAX_CLIENT_CNT -1 ] of String;
  Sockets: Array[0 .. MAX_CLIENT_CNT - 1] of TCustomWinSocket;
  function Add(ID: String; Socket: TCustomWinSocket): Integer;
  function Delete(ID: String); Integer; overload;
  function Delete(Socket: TCustomWinSocket); Integer; overload;
  function Find(ID: String): Integer; overload;
  function find(Socket: TCustomWinSocket): Integer; overload;
end;
var
  Connection: TConnection;
사용예제:
OnClientRead에서 ID, Password정보가 들어 올 때
procedure TForm1.OnRead(...);
var
  ID: String;
begin
  ...
  Connection.Add(ID, Socket);
end;
OnClientDisconnect 에서
procedure TForm1.OnDisconnect(...);
begin
  Connection.Delete(Socket);
end;
OnRead에서 데이터를 처리할 때
procedure TForm1.OnRead(...);
var
  Index: Integer;
begin
  Index := Connection.Find(Socket);
  ...
end;
도움이 되셨는지...