Witam.
Stworzyłem swój czat internetowy, oparty na systemie klient-serwer. Komunikacja odbywa się na dwóch komponentach: ClientSocket i ServerSocket. Wszystko jest w jak najlepszym porządku. Ostatnio wprowadziłem zarządzanie użytkownikami po stronie serwera (konkretnie wyrzucanie danego użytkownika poprzez odłączenie jego połączenia). I tutaj właśnie napotykam problem. Przy podłączaniu się klienta, jego IP dodawane jest na listę ListBox1 i dostaje określone ID (numeracja Itemsów w kontrolce od 0). Przy wybraniu odpowiedniej pozycji, rozłączam połączenie o takim samym ID jak wybrany Item (bo w takiej też kolejności są notowane na liście). Proces ten przeprowadzam poleceniem:
Form1->ServerSocket1->Socket->Disconnect(ListBox1->ItemIndex);
Jednak powyższa procedura rozłącza wszystkich użytkowników, podłączonych w danej chwili do serwera. Moim zamierzeniem jest oczywiście rozłączyć tylko dane połączenie, resztę zostawiając bez naruszenia. W Internecie spotkałem się z takimi samymi problemami, jednak nigdzie nie znalazłem rozwiązania tego problemu.
Zwracam się też dlatego do Was z prośbą o pomoc. 
P.S. Język C++, środowisko programistyczne: Turbo C++.