protobuf: protocol buffer
它是google 公司发布并应用的一种数据存储、组织、管理的技术,官方定义:一种语言无关、平台无关、扩展性好的用于通信协议、数据存储的结构化数据串行化方法。
其实也就是类似xml、json之类的东西。
它的优点:
1、提供更明确的协议约定,协议双方使用同一个.proto文件,且内部字段的先后顺序不关心,这样容易避免原始的封解包带来字段不一致问题。
2、提供相应的序列化函数,让开发者可以把重点放在包处理分析逻辑上,而不再关心如何封包、解包
缺点:
1、通信双方需要安装第三方程序对.proto文件编译成相应的头文件、源文件
2、某些时候,包可能存在一定的信息冗余(虽然protobuf与xml、json之流同类对比更优)还有待验证。
相关文章参考:
http://www.cppblog.com/woaidongmao/archive/2009/06/23/88391.html