protobuf的编译安装和使用
编译与安装
下载地址
https://github.com/google/protobuf/archive/v2.6.1.zip
或者github: https://github.com/google/protobuf/
安装
安装都是老步骤了:
tar xvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1/
./configure
make
sudo make install
如果你是从github clone或者下载的zip包,你需要在./configure之前运行./autogen.sh
autogen.sh运行会需要一些依赖
比如gtest等,需要手动下载解压当protobuf目录下
unzip gtest-1.7.0.zip
mv gtest-1.7.0 gtest
推荐下载带configure的zip包
安装完成后就可以运行protoc这个我们安装的命令了
//查看protobuf的版本
protoc --version
可能会出现libprotobuf.so.9等库文件找不到,那么执行下面的操作:
su
vi /etc/ld.so.conf
//在上面的文件中加入一行内容:/usr/local/lib
//执行ldconfig使得路径生效
ldconfig
使用
定义通信协议
文件名:im.user.proto
文件内容:
package im;
message user
{
required int32 id = 1;
required string user_name = 2;
required string password = 3;
optional int32 client_type = 4;
}
协议文件定义了一个叫user的message,包含id, user_name, password 和 client_type
具体如下:
user | id | user_name | password | client_type |
---|---|---|---|---|
某个用户 | 用户id | 用户名 | 密码 | 客户端类型 |
required表示这个字段必须存在
optional表示这个字段是可选的,可以不存在