首页protobuf › protobuf用Extensions定义消息方法

protobuf用Extensions定义消息方法

protobuf Extensions这个东西还真蛮有用的, 这里记录一下用Extensions定义方法。

msg.proto

这是主文件,注意看最后一行, 留了100~10000的tag number给其他模块用。注意, 19000 though 19999是protobuf预留的。

接下来,各个模块(角色 任务等) 定义各自的文件。

mod.proto

在这个文件里, 该模块把int32 id和ModReq mod_req嵌到主文件的Msg里,这个很关键。

我个人用过几种消息定义方法,这种方法最好,他有下面的好处:

1. 各个模块定义分离, 主文件不会太大, 导致找一个东西很困难的情况出现。

2. 编译上的分离的, 各种模块新增东西不会影响其他模块,而且用法上不会增加复杂度

http://blog.csdn.net/herm_lib/article/details/7392222   像以前这种方法,就比现在复杂,使用上也存在一些麻烦的地方。

使用方法也比较简单

读取的方法也类似, GetExtension() 之类的。

发表评论