Protobuf 例子

1.创建Person.proto的文件


按照如下格式输入

option java_package = "com.baihe.date.test";

option java_outer_classname = "Person";

messagePersonBuf{

// ID(必需)

required int32 id = 1;

// 姓名(必需)

required string name = 2;

// email(可选)

optional string email = 3;

// 朋友(集合)

repeated string friends = 4;

enumPhoneType{

MOBILE = 0;

HOME = 1;

WORK = 2;

}

messagePhoneNumber{

required string number = 1;

optional PhoneType type = 2 [default = HOME];

}

//号码信息(必须)

repeated PhoneNumber phone = 5;

}

option java_package = 生成的包名

option java_outer_classname = 生成的类名

required是必须,optional是可选,repeated是集合

1234数字是唯一标识

2.代码生成

命令:protoc ./Person.proto --java_out=../src

protoc后面是编译文件路径,java_out=后面是输出生成文件夹路径

编译工具以及jar包在这里,提取码ybqy

3.代码

1) 创建Person对象

2)把对象序列化并生成发送数据

3)接收数据并反序列化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容