TServerSocket jak zidentyfikować połączenie klienta

0

Witam forumowiczów,
piszę program do którego ma łączyć się około 10-12 klientów, do połączenia wykorzystuje TServerSocket (klienci TClientSocket) założenia co do serwera są takie że odpowiada klientowi na wysłaną komendę np: klient wysyła string ?TEMP_CZ1 a serwer odpowiada mu stringiem !TEMP_CZ1:87C.
Problem mam właśnie z identyfikacją od jakiego klienta przyszło zapytanie i któremy klientowi odesłać odpowiedzieć.
Próbowałem zidentyfikować klienta poprzez uchwyt do socketa

procedure TForm2.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(IntToStr(Socket.SocketHandle)+' '+Socket.ReceiveText);
end;

Każdy podłączony klient ma inny numer uchwytu ale jak odwołać się do tego przy wysyłaniu ?
Do wysylania mam kod taki:

for activcon:=0 to ServerSocket.Socket.ActiveConnections -1 do
   begin
     ServerSocket.Socket.Connections[activcon].SendText(strodp);
   end;

i przy tym kodzie każdy podłączony klient dostaje wiadomość :/
Wczoraj przeszukałem 4p lecz nie znalazłem dobrego rozwiązania tego problemu, co prawda były pomysły żeby to rozwiązać pamiętając np adres podłączonego klienta ale w tym przypadku nie mogę tego zastosować bo w tym przypadku programy klienckie mogą być uruchomione z jednego hosta.
Prosi bym o sugestie jak ten problem rozwiązać.
Pozdrawiam

0

Witam, sprecyzuje o co mi chodzi...
mając uchwyt do socketa z jakiego odebrałem dane jak mogę poprzez niego wskazać do jakiego klienta mają być wysłane dane ?
Pozdro

1 użytkowników online, w tym zalogowanych: 0, gości: 1