C ++ equivalente a SerializeWithLengthPrefix
-
13-09-2019 - |
Pergunta
Eu construí uma biblioteca de comunicação usando o protocolo buffers (protobuf-net), utilizando Sockets (TcpListener e TcpClient) e ele está funcionando bem, mas agora um colega de trabalho necessidades de escrever uma biblioteca para se comunicar com o meu software utilizando C ++.
Acontece que eu estou usando o Serializer.NonGeneric.SerializeWithLengthPrefix
e Serializer.NonGeneric.TryDeserializeWithLengthPrefix
.
Existem funções equivalentes no protobuf bibliotecas C ++? Se não, alguém sabe como implementá-lo, ou tê-lo implementado para mostrar?
Solução
Eu não sou imensamente familiarizado com o C ++ API; mas o próprio prefixo comprimento é muito simples se escrever os dados para um tampão de primeira, especialmente se estiver a utilizar a codificação de largura fixa de 32 bits (em vez de base-128 de comprimento variável). Veja também este rosca no fórum de Grupos do Google.