Обычно сортировка размеров сообщений происходит на уровне приложения. Вы действительно можете отправить «установочное сообщение» в качестве первых данных после успешного подключения. Вам следует отправить это установочное сообщение в форме, которая не будет неправильно понята из-за порядкового номера или количества байтов, полученных за один вызов чтения. Возможно, сообщение фиксированного размера в ASCII, может быть пять байтов:
00150 '
Сервер может затем прочитать только пять байтов, преобразовать в целое число, сохранить его в объекте сокета сервер-клиент, чтобы сервер всегда знал, сколько байтов нужно отправить, и затем выполнить вызов чтения для этого количества байтов.
В качестве альтернативы вы можете использовать простой протокол, который встраивает размер в каждое сообщение, например:
SOH
"0"
"0"
"1"
"5"
"0"
[150 байт данных]
СРВ
Rgds,
Martin