- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Palmcity Confidential Palmcity Confidential Palmcity Confidential Palmcity Confidential LOGO Protocol Buffer的应用与原理 周华彬 研发三部 2011.12 定义 protocol buffers是一个语言中立,平台中立,可扩展的序列化结构化数据的一种方式,可用于通讯协议,数据存储等方面。二进制 与json和xml是同一个层次的东东 支持的语言Java,C++,Python三种 Palmcity Confidential Protocol buffer的优劣 比json和XML 1.简单;2.小巧:3-10倍3.效率高:20-100倍4.跨语言5.有自动工具生成访问类 不足 1.不适合描述符号文本 2. 不如XML易阅读和编辑 3.需要工具预先生成序列化类 Palmcity Confidential 序列化反序列化对比测试 Palmcity Confidential Protobuf是较优化的,跨语言;可选jackson,解析json效率高;hessian支持rpc Protocol buffer使用 1.下载资源 下载地址为:/p/protobuf/downloads/list下载protoc-2.x.0-win32.zip 和 protobuf-2.x.0.zip,前者是 protocol buffer 编译器,后者包含了三种语言的开发包。首先解压 protoc-2.x.0-win32.zip,把 protoc.exe 文件放到该目录中。编译生成的 protobuf-java-2.X.0.jar 复制到 proto_home\examples 2.使用 A.使 用 protocol buffer 编译器编译 to 文件。打开命令行窗口,并定位到 proto_home\examples 目录中,运行命令 protoc --java_out=. to,执行这个命令后会在当前目录下生成一个java类. Palmcity Confidential B.编译 执行命令 javac -d . -classpath .;protobuf-java-2.x.0.jar AddPerson.java ListPeople.java com\example\tutorial\AddressBookProtos.java C.执行 运行 AddPerson,在命令中执行命令 java -cp .;protobuf-java-2.X.0.jar AddPerson addr.dat,按照提示输入相应的信息,将保存到addr.dat中 Palmcity Confidential 显示数据 执行命令w:\jdk6\bin\java -cp .;protobuf-java-2.3.0.j ar ListPeople addr.dat Palmcity Confidential 过程1-proto文件 proto 文件,定义程序中需要处理的结构化数据,在 protobuf 的术语中,结构化数据被称为 Mto 文件非常类似 java 或者 C 语言的数据定义。清单 1 显示了例子应用中的 proto 文件内容。 package lm; message helloworld { required int32 id = 1; // ID required string str = 2; // str optional int32 opt = 3; //optional field } Palmcity Confidential 编译成-C++ protoc -I=. --cpp_out=. to 编译成-JAVA protoc --java_out=. to 编译成-python protoc --python_out=. to Palmcity Confidential C++读取 linux安装protobuf $unzip protobuf-2.3.0.zip $cd protobuf-2.3.0 $./configure make make install $vi /etc/profile export LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib export LD_RUN_PATH=$LD_LIBRARY_PATH export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig $protoc –I. –cpp_out. ./to $make cpp $./list_pe
您可能关注的文档
- Present perfect continuous.ppt
- proe入门篇.ppt
- procast高压压铸1.ppt
- PPT素材收集.pptx
- Profibus.ppt
- PROFIBUS现场总线在宁海电厂中应用.doc
- ProE5.0全套教程共358页.ppt
- PROFIBUS新培训由低到高.pptx
- PROII中文入门指南手册.ppt
- PROII基础入门.ppt
- 浙江省平阳中学2025-2026学年高三上学期8月开学考地理试题 Word版无答案.docx
- 浙江省七彩阳光新高考研究联盟2025-2026学年高三上学期返校联考历史试题 Word版无答案.docx
- 浙江省Z20名校联盟(名校新高考研究联盟)2025-2026学年高三上学期第一次联考历史试卷 Word版无答案.docx
- 浙江省七彩阳光新高考研究联盟2025-2026学年高三上学期返校联考物理试题 Word版无答案.docx
- 单元总结提升.pptx
- 第22课 从局部抗战到全国抗战(练习,含解析).docx
- 浙江省强基联盟2025-2026学年高三8月联考语文试题 Word版无答案.docx
- 2024土工合成材料塑料土工格室.pdf
- 第23课 全民族浴血奋战与抗日战争的胜利.pptx
- 第23课 全民族浴血奋战与抗日战争的胜利.docx
文档评论(0)