Вопрос

Я создал библиотеку связи, используя буферы протокола (protobuf-net), используя сокеты (TcpListener и TcpClient), и она работает нормально, но теперь коллеге нужно написать библиотеку для связи с моим программным обеспечением с использованием C ++.

Оказывается, что я использую Serializer.NonGeneric.SerializeWithLengthPrefix и Serializer.NonGeneric.TryDeserializeWithLengthPrefix.

Существуют ли эквивалентные функции в библиотеках protobuf C ++?Если нет, то кто-нибудь знает, как это реализовать, или уже внедрил, чтобы поделиться?

Это было полезно?

Решение

Я не чрезвычайно знаком с C ++ API;но сам префикс длины довольно прост, если вы сначала записываете данные в буфер, особенно если вы используете 32-битную кодировку фиксированной ширины (а не переменную длину base-128).Смотрите также этот поток на форуме Google-groups.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top