protobuf在C#项目中的使用

本文介绍了protobuf在C#项目中的应用,重点讨论了CODE_SIZE和LIFT_RUNTIME两种优化模式,以及message关键字、消息名、required、optional和repeated限定关键字的使用。还提到了默认值设定和数据类型的特性,特别是对于数组结构字段的处理。
摘要由CSDN通过智能技术生成
protobuf在C#项目中的使用


在C#项目中,有时候会使用到使用到protobuf来作为通信时数据交换的格式。

protobuf(ProtocolBuffer,简称PB),是google 的一种数据交换的格式。这是一种二进制的格式,比使用xml更方便,数据量更小,数据交换速度更快。是一种兼容性比较好的数据传输格式,主要用于通信协议、数据存储等方面。


protobuf的C#版本(protobuf-net)下载地址https://code.google.com/p/protobuf-net/
将其保存为ProtoGen目录
注意:在使用protobuf通信的时候,需要保证其版本号的一致性。

1、制定proto协议
创建一个后缀为“.proto”的文件,即为我们的协议文件。文件格式如下:
示例:TestParam.proto(协议具体规则见附录)
option optimize_for = SPEED;
message TestParam
{
    required string string_param = 1;
    optional double double_param = 2;
    required int32 int_param = 3;
    optional int32 default_param = 4 [default = 1];
    repeated TestParam2 repeated_param = 5;
    ......
}
message Param2
{
    required enum enum_param
    {
        flag_a = 0;
        flag_b = 1;
        flag_c = 2;
    }
    ......
}
......

2、编译 “.proto”文件
TestParam.proto文件复制到ProtoGen目录下,并在此目录下执行命令行语句:
protogen  -i:TestParam.proto  -o:TestParam.cs
则可以由 TestParam.proto得到 TestParam.cs的C#文件

为了方便,可以将该命令保存为一个批处理文件(如csharpPb.bat),使用时修改文件内容并执行此批处理文件即可。

如新的proto文件为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是城墟垣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值