2009-09-23 3 views
1

소켓 (TcpListener 및 TcpClient)을 사용하여 프로토콜 버퍼 (protobuf-net)를 사용하여 통신 라이브러리를 구축했지만 정상적으로 작동하지만 이제는 동료가 내 소프트웨어와 통신하기 위해 라이브러리를 작성해야합니다. C++.SerializeWithLengthPrefix와 동등한 C++

나는 Serializer.NonGeneric.SerializeWithLengthPrefixSerializer.NonGeneric.TryDeserializeWithLengthPrefix을 사용하고 있습니다.

protobuf C++ 라이브러리에는 동일한 기능이 있습니까? 그렇지 않다면 누구나 그것을 구현하는 방법을 알고 있거나 그것을 공유하도록 구현 했습니까?

답변

2

저는 은 아닙니다. C++ API에 익숙한입니다. 그러나 고정 길이의 32 비트 인코딩 (base-128 가변 길이가 아닌)을 사용하는 경우 특히 버퍼에 데이터를 쓰는 경우 길이 접두사 자체가 매우 간단합니다. google-groups 포럼의 this thread도 참조하십시오.

+0

아쉽게도 C# 측에서 PrefixStyle.Base128을 사용하는 경우 참조 된 스레드에 C/C++의 C# (de) 직렬화 된 끝과 상호 운용하는 데 대한 정보가 없습니다. 결과 메시지가 유효한 protobuf 메시지라는 것을 언급 했으므로 두 경우에 대한 예제를 제공 할 수 있습니까? 감사! – Ani