Извлечение реализации, используемой в networkComms.net , коммуникационной среде с открытым исходным кодом.В частности IncomingPacketHandleHandOff () в строке 892 здесь .
Это гарантирует, что первый полученный байт определяет размер заголовка пакета (менее 255 байтов).После получения достаточного количества байтов для восстановления заголовка заголовок может быть проверен для определения оставшегося размера, который должен быть получен (раздел данных).Если у вас больше входных байтов, чем ожидаемый заголовок и разделы данных, вы смотрите на самый первый байт и начинаете заново.
Использование символов с закладками - это то, что используется на базовом уровне сетевого стека, но должно быть реализовано тщательночтобы избежать дальнейших осложнений.