`

Google Protocol Buffers 快速入门

 
阅读更多

Google Protocol Buffers是google出品的一个协议生成工具,特点就是跨平台,效率高,速度快,对我们自己的程序定义和使用私有协议很有帮助。

Protocol Buffers入门:

1、去 http://code.google.com/p/protobuf/downloads/list 下载一个源代码包和一个已编译好的二进制包

2、找一个Proto示例代码,使用命令

Google Protocol Buffers 快速入门 - 微微笑 - 微微笑protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto

将proto文件编译一下即可得到对应的Java源代码。例如 protoc -I=src --java_out=addressbook.proto。

Java项目配置:

1、先用

$ protoc --java_out=src/main/java -I../src ../src/google/protobuf/descriptor.proto

命令把源代码包中的descriptor.proto编译一下,生成一个类。

2、将第一步生成的那个文件连同源代码包中的java/src/main/java中的源代码,一起丢入你的项目工程,这就是基础类库了。

3、之后你就可以写自己的proto文件,然后编译,连同上面的基础类库丢入你的项目工程中,就可以运行了。

C#的配置:

1、Google本身不自带生成C#源码的功能,要使用C#,必须使用一个Csharp port,项目地址是:http://code.google.com/p/protobuf-csharp-port/

2、源码可以从SVN上面Download下来,Download下来之后,需要去下载一个NAnt,然后在项目源码目录下进行命令操作,用来编译生成可执行文件

Google Protocol Buffers 快速入门 - 微微笑 - 微微笑nant clean build test dist

这步做完会生成几个文件:

ProtoGen.exe - the source code generator

Google.ProtocolBuffers.dll - the library part of the project

ProtoMunge.exe - tool to remove sensitive data from binary messages

ProtoDump.exe - tool to dump a binary message as text

ProtoBench.exe - tool to run performance benchmarks on binary messages

主要是第一个和第二个

第一个ProtoGen.exe是用来生成C#源码的

第二个Google.ProtocolBuffers.dll是用来在项目中进行引用的。

3、在源码中附带了记个proto文件,是根据C#版本专门修改过的,可以拿出来做生成测试,执行以下命令可以得到C#源文件:

protoc --descriptor_set_out=addressbook.protobin --proto_path=protos --include_imports protos\tutorial\addressbook.proto 
 
protogen addressbook.protobin

如果想生成C#源码,需要执行第一步将源文件用Protoc编译一下,编译之后再用Protogen生成一份C#文件,会生成三个文件,只有 AddressBookProtos.cs有用,将这个文件连同Google.ProtocolBuffers.dll一起丢入项目,你就可以使用了。

分享到:
评论

相关推荐

    Protocol Buffers 入门应用

    **Protocol Buffers 入门应用** Protocol Buffers(简称protobuf)是Google开发的一种数据序列化协议,用于结构化数据的编码和解码。它能够将复杂的结构化数据转换成二进制流,以便在网络间高效地传输或者在磁盘上...

    C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能

     后来,自己下来做了C#版本gRPC编写,搜了很多资料,但许多都是从入门开始?调用说“Say Hi!”这种官方标准的入门示例,然后遇到各种问题……  关于gRPC和Protobuf介绍,就不介绍了,网络上一搜一大把,随便一抓都...

    Protobuf协议快速入门指南(一个小时入门protobuf)

    Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化...

    netty快速入门教程7-8集 共12集

    1. **Protocol Buffers**:Protocol Buffers 是 Google 推出的一种数据序列化协议,它可以将结构化数据序列化为二进制格式,便于存储和网络传输。Netty 支持 Protocol Buffers,可以高效地处理数据编码和解码。 2. ...

    gRPC详细入门教程,GolangPythonPHP多语言讲解.pdf

    Protocol Buffers是谷歌开发的一种高效的数据序列化协议,它允许开发者定义数据结构(.proto文件),然后将这些结构转换为各种语言的源代码,以便在应用程序之间进行高效的数据交换。相比JSON或XML,Protocol ...

    protobuf java自动生成,例子实用

    `Java使用Protocol Buffers入门四步骤 -.htm`和`Java使用Protocol Buffers入门四步骤 -_files`可能是一个教程文档和相关资源,详细介绍了如何在Java环境下逐步开始使用protobuf。 protobuf的优点包括小巧高效、兼容...

    caffe源代码解析(入门资料).docx

    3. **Protocol Buffers**: `caffe.pb.h`是由Google的Protocol Buffers工具生成的,它允许Caffe以结构化的方式存储和读取网络配置、模型权重和其他数据。BlobProto、Datum和NetParameter等协议消息定义了Caffe的数据...

    louie:Louie - 一个服务网络框架

    Louie利用谷歌的Protocol Buffers作为通用对象,通过在Python中自动生成对应的客户端,你可以创建一个高效的基于多语言服务的API。 入门 第 1 步:并Google 的 Protocol Buffers (protobuf) 第 2 步:阅读 第 3 步...

    易语言ProtoBuf支持库 (普通版)1.0版(eProtoBuf.fne)-易语言

    易语言ProtoBuf支持库(普通版)1.0版是一个专为易语言设计的扩展库,用于集成Google的Protocol Buffers(简称ProtoBuf)技术。ProtoBuf是一种序列化协议,可以将结构化的数据序列化,方便地进行网络传输、持久化...

    golang_grpc.zip

    gRPC 是一个高性能、开源和通用的 RPC(远程过程调用)框架,基于 Google 的 Protocol Buffers(Protobuf)进行序列化和接口定义,支持多种编程语言,包括 Go。 描述中提到的关键点有: 1. **gRPC 环境搭建**:这个...

    awesome-grpc:精选的gRPC有用资源列表

    Protocol Buffers是Google推出的一种数据序列化协议,它可以将结构化数据序列化,可用于数据存储、通信协议等方面。相比XML、JSON等格式,Protocol Buffers更小、更快、更简单。在gRPC中,Protocol Buffers(.proto...

    protobuf入门.pdf

    protobuf,全称Protocol Buffers,是由Google开发的一种数据序列化协议,用于高效、跨平台地存储和传输结构化数据。它提供了一种语言中立、平台中立的方式来定义数据结构,可以将数据结构转换为二进制格式,以便在...

    netty+protobuf入门案例

    而 Protobuf(Protocol Buffers)是 Google 推出的一种数据序列化协议,它可以将结构化数据序列化,可用于数据存储、通信协议等方面,其优点在于效率高、体积小。 在"Netty+Protobuf入门案例"中,我们可以学习到...

    grpc protobuf windows vs2015

    这个文件名暗示可能是一个gRPC的示例项目,通常包含一个简单的"Hello World"服务,帮助开发者快速入门。它可能包括以下内容: 1. hello.proto:定义了服务接口和消息类型的.proto文件。 2. 生成的源代码:由protoc...

    python_grpc demo

    这个"python_grpc demo"是一个学习 gRPC 的实用示例,适合初学者快速入门。 首先,我们需要了解 gRPC 的核心组件: 1. **protobuf (Protocol Buffers)**:这是 Google 推出的一种数据序列化协议,它允许我们将复杂...

    netty+protobuf入门案例.

    Protobuf(Protocol Buffers)是Google推出的一种数据序列化协议,类似于XML和JSON,但更紧凑、更快、更简单。它允许定义数据结构,然后生成能够在各种语言中使用的代码,以便轻松地序列化和反序列化数据。Protobuf...

    SuperSocket.ClientEngine.QuickStart.zip

    而Protobuf(Protocol Buffers)作为一种高效的序列化协议,被广泛用于数据交换,它比XML或JSON更紧凑、更快。本篇文章将深入探讨如何利用SuperSocket和Netty实现Protobuf协议,并提供一个简单的快速入门指南。 ...

    netty-3.2.5终极手册

    - **Google Protocol Buffers集成**:支持与Google Protocol Buffers的集成,提高数据交换的效率。 #### 五、总结 Netty 3.2.5作为一款成熟的网络编程框架,不仅提供了丰富的功能,还具备出色的性能和稳定性。无论...

Global site tag (gtag.js) - Google Analytics