Nie wiem czy ten problem dotyczy tylko ICS, ale ogólnie samych gniazdek, ale do rzeczy.
Piszę aplikację klient-serwer i przesyłam dane w pakietach binarnych (nie korzystam z LineMode), wrzucam dane do bufora i wysyłam go, po drugiej stronie odbieram dane i póki co wszystko jest ok, ale na wikipedii od ICS wyczytałem, że dane wysłane po jednej stronie po drugiej mogą dojść w kilku kawałkach. I tak raz wysłane "Hello World" może dojść jako "Hello" i "World". Jak to z tym jest konkretnie? Po dość długich testach przy pakietach o wielkości do 200 bajtów to nic takiego się nie działo, ale podejrzewam, że powyżej paru kB już może się tak dziać? I jak z tym się uporać? Zakodzić jakiś ogólny bufor odbioru, w nagłówku pakietu wysłać rozmiar danych, a do buforu ładować aż nie przyjdzie tyle ile trzeba i wtedy pakiet przetworzyć?