nie rozumiesz:
SERWER nasłuchuje, czy ktoś dołącza, (tcpaccept zwraca socket > -1 ), tworzy nowy obiekt GRACZ i ustawia mu zmienną SOCKET na socket. SERWER nasłuchuje nadal na następnych NOWYCH graczy. TCPACCEPT zwraca > -1 tylko, gdy dołącza ktoś nowy, tych zaakceptowanych już nie zwraca.
GRACZ sprawdza w pętli rozmiar wiadomości która przyszła na socket (size = receivemessage( socket );). Jeżeli jest większa od zero, to robi switcha i tam case, a jak nie to break. Jak za długo nie dostanie nic (można dodawać co step ping +1 jak nie doszły dane i ping=0 gdy doszły), to go kasujemy i zamykamy socket.
Wazne info. Gdy wyrzucamy gracza z serwera, lub gracz w KLIENCIE rozłącza się z serwerem, NIE WOLNO od razu zamknąć socketa, bo wtedy zamknie się zanim dane zostaną wysłane. Trzeba odczekać ok. 1s i wtedy zamknąć socket z graczem, lub z serwerem.