众所周知,分布式网络程序对通讯协议的灵活性、容错性、可扩展性、安全性、性能等都有较高的要求,使得其复杂性比单机程序高很多。
主要用于处理网络字节流,还没有验证,如:服务器采用java语言写,而客户端采用c++或者Objective-C语言写,二者通过Protobuf是否可以正常通讯。
Google Protocol Buffer 是一个平台无关、语言无关的结构化数据的序列化与反序列化工具。
一条消息数据,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言
json是字符流,而Protobuf是字节流(二进制流)
由于protobuf确实比Json、XML有速度上的优势和使用的方便
参考文档
https://developers.google.com/protocol-buffers/docs/overview?hl=zh-CN
http://code.google.com/intl/zh-CN/apis/protocolbuffers/
下载地址: http://code.google.com/p/metasyntactic/downloads/list
android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
http://www.cnblogs.com/TerryBlog/archive/2011/04/23/2025654.html
http://terryblog.blog.51cto.com/1764499/554930