Нет, нет способа «остановить это», просто работает потоковая TCP.
Короче говоря, поскольку потоковая передача по TCP не имеет границ сообщений.Это просто непрерывный поток байтов.
Чтобы реализовать какой-либо обмен сообщениями или границы между данными, вам нужно придумать собственный протокол прикладного уровня для установки поверх TCP.Например, вы можете ввести какой-то маркер границы сообщения, специальный символ, байт или последовательность символов / байтов, что означает, что текущее сообщение закончилось.Или вы можете отправить заголовок сообщения фиксированного размера, который включает в себя размер фактических данных сообщения.
Затем при получении вам необходимо получать в цикле, пока вы не обнаружите конец сообщения.Для этого самым простым способом является заголовок фиксированного размера с длиной данных, так как тогда вы просто пытаетесь прочитать длину (заголовка или данных), уменьшая количество байтов для получения каждой итерации, пока не останется ничего болееполучить (количество байтов для получения достигает нуля).