C ++ équivalent à SerializeWithLengthPrefix
-
13-09-2019 - |
Question
Je construit une bibliothèque de communication utilisant Protocol Buffers (protobuf-net) en utilisant les sockets (TcpListener et tcpclient) et il fonctionne très bien, mais maintenant un collègue a besoin d'écrire une bibliothèque pour communiquer avec mon logiciel en C ++.
avère que j'utilise le Serializer.NonGeneric.SerializeWithLengthPrefix
et Serializer.NonGeneric.TryDeserializeWithLengthPrefix
.
Y at-il des fonctions équivalentes dans le protobuf des bibliothèques C ++? Sinon, tout le monde sait comment la mettre en œuvre, ou l'ont mis en œuvre pour partager?
La solution
Je ne suis pas énormement familier avec l'API C ++; mais le préfixe de longueur lui-même est assez simple si vous écrivez les données à un premier tampon, surtout si vous utilisez la largeur fixe le codage 32 bits (plutôt que la base 128 de longueur variable). Voir aussi ce fil sur le forum google-groupes.