繁体   English   中英

protobuf-net与C ++通信

[英]protobuf-net communicating with C++

我正在寻找protobuf-net来实现各种消息传递格式,我特别喜欢基于契约的方法,因为我不必乱用原型编译器。 我无法找到有关信息的一件事是,这是否难以跨平台工作? 有一些C ++应用程序需要能够解析PB数据,虽然我知道protobuf-net序列化为PB标准格式,如果我使用契约方法而不是原型文件,C ++端如何解析数据?

可以(应该?)我为C ++需要理解数据的(极少数)情况写了一个单独的proto文件? 如果是这样,我究竟知道从proto文件生成的C ++类是否与来自无原型文件C#端的数据相匹配?

是的,理论上至少它们应该在二进制级别匹配,但是你可能希望将自己限制为仅仅映射到“.proto”的类型 - 所以要避免使用DateTime ,继承( [ProtoInclude] )等等。这也有您应该能够使用的优势:

string proto = Serializer.GetProto<YourType>();

得到.proto; 它( GetProto )不是100%,但它适用于基本类型。 但最终,答案是“测试和调整”; 也许从一开始就设计互操作 - 即尽早测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM