Ребят вы бы азы хоть немного подучили)))
Нигде ничего не склеивается в какие-то пакеты "побольше".
TCP/IP - это потоковый протокол. Все данные передаются тупо в едином потоке.
Ну а как сказал sko, уже для разделения пакетов на программном уровне, перед началом передаваемой структуры пишется ее размер.
И да, сразу совет. Не считывайте все данные из сокета, как те только туда пришли, т.к. может быть ситуация, что пришла только часть пакета.
Поэтому логика правильного разбора пакетов должна быть такая:
считывается размер пакета из потока. Далее проверяется сколько байт доступно в потоке. Если байт не достаточно, то необходимо ждать, пока придет остальная часть. Далее считывается столько байт, какой размер указан вначале, а опять же не все данные из сокета. Ну и т.д. повторяется...
|