铜仁市论坛

首页 » 分类 » 常识 » ProtocolBuffers开发者
TUhjnbcbe - 2021/1/1 22:31:00

欢迎来到protocolbuffers的开发者指南。protocolbuffers是一个语言中立,平台中立针对通讯协议,数据存储和其他领域中对结构化数据进行序列化的扩展方法。

本文档主要针对的是Java,C++或Python的开发人员希望在开发的应用程序中使用ProtocolBuffers。这个有关ProtocolBuffers摘要性的介绍将会告诉你如何开始使用ProtocolBuffers。如果你希望更加深入的了解有关ProtocolBuffers的内容,你可以进入tutorials或者protocolbufferencoding页面来详细了解。

有关API的参考文档,请参考页面:fencedocumentation这里提供了所有这3种语言的参考,同时也针对.protolanguage和style提供相关的指南。

什么是ProtocolBuffers

Protocolbuffers是对结构化数据序列化的一个灵活,高效,自动化工具——你可以将Protocolbuffers想象成XML,但是体积更小,更快也更加简单。

你可以自己定义你的结构化数据,然后你可以使用特定的代码生成工具来非常容易对你的结构化数据进行读取和写入。这些数据的读取和写入可以是一系列的数据流和使用不同的计算机程序语言。你甚至可以在不对已经部署的程序进行破坏的情况下更新你的数据结构。

ProtocolBuffers是如何进行工作的

你需要制定你希望如何将你的数据进行序列化。你是通过proto文件来定义你的消息结构化数据的。

每一protocolbuffermessage是一个小的信息记录逻辑,这个消息中包含有一系列的名字,变量对照序列。

下面是一些基本的.proto文件,这些文件中定义了一个消息,这个消息包含有一个person信息:

messagePerson{quidstringname=1;quidint3id=;optionalstringemail=3;enumPhoneType{MOBILE=0;HOME=1;WORK=;}messagePhoneNumber{quidstringnumber=1;optionalPhoneTypetype=[default=HOME];}peatedPhoneNumberphone=4;}

通过上面你可以看到这个消息的格式非常简单——每一个消息类型都有一个或者多个唯一进行编号的字段,每一个字段包含有一个名字和变量类型。

变量可以为数字(整形或者浮点型)(numbers),布尔类型(booleans),字符串(strings),原生二进制(rawbytes)甚至其他的protocolbuffer消息类型,能够允许你分级的结构化你的数据。

你可以将字段指定为可选字段(optionalfields),必须字段(quidfields)和重复字段(peatedfields)。你可以从下面的ProtocolBufferLanguageGuide页面中找到更多有关.proto的定义。

一旦你成功定义了你的消息,你可以针对你使用的语言使用你定义的.proto来运行protocolbuffer编译器(protocolbuffer

1
查看完整版本: ProtocolBuffers开发者