C ++ эквивалент SerializeWithLengthPrefix
-
13-09-2019 - |
Вопрос
Я создал библиотеку связи, используя буферы протокола (protobuf-net), используя сокеты (TcpListener и TcpClient), и она работает нормально, но теперь коллеге нужно написать библиотеку для связи с моим программным обеспечением с использованием C ++.
Оказывается, что я использую Serializer.NonGeneric.SerializeWithLengthPrefix
и Serializer.NonGeneric.TryDeserializeWithLengthPrefix
.
Существуют ли эквивалентные функции в библиотеках protobuf C ++?Если нет, то кто-нибудь знает, как это реализовать, или уже внедрил, чтобы поделиться?
Решение
Я не чрезвычайно знаком с C ++ API;но сам префикс длины довольно прост, если вы сначала записываете данные в буфер, особенно если вы используете 32-битную кодировку фиксированной ширины (а не переменную длину base-128).Смотрите также этот поток на форуме Google-groups.