Google Protocol Buffers是google出品的一个协议生成工具,特点就是跨平台,效率高,速度快,对我们自己的程序定义和使用私有协议很有帮助。
Protocol Buffers入门:
1、去 http://code.google.com/p/protobuf/downloads/list 下载一个源代码包和一个已编译好的二进制包
2、找一个Proto示例代码,使用命令
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,然后在项目源码目录下进行命令操作,用来编译生成可执行文件
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(简称protobuf)是Google开发的一种数据序列化协议,用于结构化数据的编码和解码。它能够将复杂的结构化数据转换成二进制流,以便在网络间高效地传输或者在磁盘上...
后来,自己下来做了C#版本gRPC编写,搜了很多资料,但许多都是从入门开始?调用说“Say Hi!”这种官方标准的入门示例,然后遇到各种问题…… 关于gRPC和Protobuf介绍,就不介绍了,网络上一搜一大把,随便一抓都...
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化...
1. **Protocol Buffers**:Protocol Buffers 是 Google 推出的一种数据序列化协议,它可以将结构化数据序列化为二进制格式,便于存储和网络传输。Netty 支持 Protocol Buffers,可以高效地处理数据编码和解码。 2. ...
Protocol Buffers是谷歌开发的一种高效的数据序列化协议,它允许开发者定义数据结构(.proto文件),然后将这些结构转换为各种语言的源代码,以便在应用程序之间进行高效的数据交换。相比JSON或XML,Protocol ...
`Java使用Protocol Buffers入门四步骤 -.htm`和`Java使用Protocol Buffers入门四步骤 -_files`可能是一个教程文档和相关资源,详细介绍了如何在Java环境下逐步开始使用protobuf。 protobuf的优点包括小巧高效、兼容...
3. **Protocol Buffers**: `caffe.pb.h`是由Google的Protocol Buffers工具生成的,它允许Caffe以结构化的方式存储和读取网络配置、模型权重和其他数据。BlobProto、Datum和NetParameter等协议消息定义了Caffe的数据...
Louie利用谷歌的Protocol Buffers作为通用对象,通过在Python中自动生成对应的客户端,你可以创建一个高效的基于多语言服务的API。 入门 第 1 步:并Google 的 Protocol Buffers (protobuf) 第 2 步:阅读 第 3 步...
易语言ProtoBuf支持库(普通版)1.0版是一个专为易语言设计的扩展库,用于集成Google的Protocol Buffers(简称ProtoBuf)技术。ProtoBuf是一种序列化协议,可以将结构化的数据序列化,方便地进行网络传输、持久化...
gRPC 是一个高性能、开源和通用的 RPC(远程过程调用)框架,基于 Google 的 Protocol Buffers(Protobuf)进行序列化和接口定义,支持多种编程语言,包括 Go。 描述中提到的关键点有: 1. **gRPC 环境搭建**:这个...
Protocol Buffers是Google推出的一种数据序列化协议,它可以将结构化数据序列化,可用于数据存储、通信协议等方面。相比XML、JSON等格式,Protocol Buffers更小、更快、更简单。在gRPC中,Protocol Buffers(.proto...
protobuf,全称Protocol Buffers,是由Google开发的一种数据序列化协议,用于高效、跨平台地存储和传输结构化数据。它提供了一种语言中立、平台中立的方式来定义数据结构,可以将数据结构转换为二进制格式,以便在...
而 Protobuf(Protocol Buffers)是 Google 推出的一种数据序列化协议,它可以将结构化数据序列化,可用于数据存储、通信协议等方面,其优点在于效率高、体积小。 在"Netty+Protobuf入门案例"中,我们可以学习到...
这个文件名暗示可能是一个gRPC的示例项目,通常包含一个简单的"Hello World"服务,帮助开发者快速入门。它可能包括以下内容: 1. hello.proto:定义了服务接口和消息类型的.proto文件。 2. 生成的源代码:由protoc...
这个"python_grpc demo"是一个学习 gRPC 的实用示例,适合初学者快速入门。 首先,我们需要了解 gRPC 的核心组件: 1. **protobuf (Protocol Buffers)**:这是 Google 推出的一种数据序列化协议,它允许我们将复杂...
Protobuf(Protocol Buffers)是Google推出的一种数据序列化协议,类似于XML和JSON,但更紧凑、更快、更简单。它允许定义数据结构,然后生成能够在各种语言中使用的代码,以便轻松地序列化和反序列化数据。Protobuf...
而Protobuf(Protocol Buffers)作为一种高效的序列化协议,被广泛用于数据交换,它比XML或JSON更紧凑、更快。本篇文章将深入探讨如何利用SuperSocket和Netty实现Protobuf协议,并提供一个简单的快速入门指南。 ...
- **Google Protocol Buffers集成**:支持与Google Protocol Buffers的集成,提高数据交换的效率。 #### 五、总结 Netty 3.2.5作为一款成熟的网络编程框架,不仅提供了丰富的功能,还具备出色的性能和稳定性。无论...