нужен ли protobuf заголовок сетевого пакета?

Я использую ' protobuf 'для сетевой программы C / S, использующей TCP.

вот мои шаги для клиента:

1, упаковать данные в 'protobuf'

2, получить размер пакета в байтах и ​​построить кадр префикса длины

3, записать кадр + пакет в сокет

, а затем сервер:

1, чтение кадра префикса длины из сокета и получение длины N

2, чтение N байтов из сокета и заполнение данных в экземпляр protobuf

3, получить "значения" из protobuf по "ключу"

это кажется немного сложным, я думаю, есть ли какой-то автоматически сгенерированный фрейм префикса длины для protobuf, тогда мне не нужно создавать его самостоятельно. или что-нибудь еще, что я могу сделать, чтобы очистить код?

9
задан Shawn 15 November 2011 в 09:05
поделиться