總瀏覽量

2013年7月12日 星期五

使用Google Proto buffer做簡單高效的資料傳輸

Proto buffer是google原先為了方便RPC資料傳輸而發展出來的專案

一個簡單的理解是Protobuf與XML的定位相似

都是用來做資料傳輸的

只是Protobuf會以Binary的方式傳輸

相對XML一堆(噁爛)tag要來得高效

其使用方式也非常簡單

只要定義好你的.proto檔


protobuffer compiler可以幫你建出特定語言的資料存取程式

例如: protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto

會依據你定義的addressbook.proto建出相對應的java code放到$SRC_DIR下

至於怎麼拿這些java code來存取protobuf資料

詳見tutorial
https://developers.google.com/protocol-buffers/docs/javatutorial?hl=zh-TW



下面先帶個起手式 - 安裝protoc

小弟我是在centos6環境上安裝的。

在安裝protobuf前需要齊備的環境有:

yum install gcc gcc-c++

接著選擇你鍾愛的protobuf版本

https://code.google.com/p/protobuf/downloads/list

我選擇的是2.4.1版
https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.tar.gz&can=2&q=

下載下來後解壓縮
tar zxvf protobuf-2.4.1.tar.gz

進入到資料夾內可以找到README.txt

前幾行就告訴你如何安裝了

./configure
make
make check
make install

基本上./configure沒有出現error的話後續安裝也就不會有問題了

安裝完輸入protoc --version

libprotoc 2.4.1

表示成功裝完,後面要繼續玩

就把上面的tutorial詳看吧,我覺得寫得很不錯唷