Robie sobie klienta ftp i działa to tak że wysyłam do niego komendy za pomocą socketa a następnie odbieram dane z tego socketa.

Problem polega na tym że nie wiem ile tych danych mam odebrać . To znaczy wiem jak to jest dla danej komendy , problem zaczyna się gdy komenda została wywołana ale dane nie zostały odczytane.

W takiej sytuacji serwer wysyła najpierw te dane nie odebrane a ja nie wiem ile ich jest .

Mogę po prostu ustawić timeoutReceive na 100 milisekund i jeśli nic nie odbierze to znaczy że serwer jest już pusty. Ma to jednak dwie wady . Pierwsza że za każdym razem gdy odbieram dane będe musiał czekać dodatkowe 100 milisekund , i druga serwer może mieć jakąś czkawkę i 100 milisekund bedzie za mało.

Macie na ten problem jakieś rozwiązanie ?