Вы можете повлиять на поведение отправителя, установив опцию сокета «TCP_NODELAY» (местное написание может отличаться), что повышает вероятность того, что байты будут отправлены немедленно (в зависимости от управления потоком и т. Д.), Но это не изменитОсновная природа TCP.
TCP не является протоколом, ориентированным на сообщения, это протокол последовательного потока байтов.Нет никакой гарантии, что отдельное выполнение «send» приводит к тому же числу с тем же содержанием, что и «receive» на другом конце.Это часто случается, особенно в локальных сетях, когда вам не везет, и границы «сообщений», похоже, сохраняются, но это не обязательно так.
Если вам нужны сообщения, вы должны их придумывать.Стандартные методы: сообщения фиксированной длины (звучит так, как будто вы делаете это: длина 1), заголовок с указанием длины, байты-разделители.Приемник должен быть закодирован, чтобы восстановить сообщения.Пакетирование по проводам не имеет значения.