когда и в каком объёме отправлять пакеты TCP - решает сетевой стек операционной системы. вы можете попробовать косвенно повлиять на это, задав в опциях сокета параметр TCP_NODELAY, что, впрочем, также не гарантирует то, что в приходящем массиве будет устраивающий вас объём данных.
если хотите, чтобы во входящем пакете было ровно то количество байт, которое передаёте на отправку - используйте UDP.