Google Protocol Buffers是google出品的一個協(xié)議生成工具,特點就是跨平臺,效率高,速度快,對我們自己的程序定義和使用私有協(xié)議很有幫助。
Protocol Buffers入門:
1、去
http://code.google.com/p/protobuf/downloads/list 下載一個源代碼包和一個已編譯好的二進(jìn)制包
2、找一個Proto示例代碼,使用命令
protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
將proto文件編譯一下即可得到對應(yīng)的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中的源代碼,一起丟入你的項目工程,這就是基礎(chǔ)類庫了。
3、之后你就可以寫自己的proto文件,然后編譯,連同上面的基礎(chǔ)類庫丟入你的項目工程中,就可以運行了。
C#的配置:
1、Google本身不自帶生成C#源碼的功能,要使用C#,必須使用一個Csharp port,項目地址是:http://code.google.com/p/protobuf-csharp-port/
2、源碼可以從SVN上面Download下來,Download下來之后,需要去下載一個NAnt,然后在項目源碼目錄下進(jìn)行命令操作,用來編譯生成可執(zhí)行文件
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是用來在項目中進(jìn)行引用的。
3、在源碼中附帶了記個proto文件,是根據(jù)C#版本專門修改過的,可以拿出來做生成測試,執(zhí)行以下命令可以得到C#源文件:
protoc --descriptor_set_out=addressbook.protobin --proto_path=protos --include_imports protos\tutorial\addressbook.proto
protogen addressbook.protobin
如果想生成C#源碼,需要執(zhí)行第一步將源文件用Protoc編譯一下,編譯之后再用Protogen生成一份C#文件,會生成三個文件,只有AddressBookProtos.cs有用,將這個文件連同Google.ProtocolBuffers.dll一起丟入項目,你就可以使用了。
---------------------------------------------------------
專注移動開發(fā)
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2009-08-21 13:45
TiGERTiAN 閱讀(11333)
評論(12) 編輯 收藏 所屬分類:
Java 、
DotNet 、
Android