protobuf3.1.0 生成java文件------多协议传输类型说明

不了解protobuf的先去了解下


项目需要用protobuf进行数据传输所以最近找了找资料,下面给大家一些我的经验


下拉找到3.1.0的压缩包
protoc-3.1.0-win32.zip

解压到任意盘的根目录,我的在C盘放着,


然后配置环境变量
右击此电脑点击属性》》高级系统设置》》环境变量》》点击系统变量的Path点击编辑
添加  ;C:\protoc-3.1.0-win32\bin     点击确定

打开cmd执行   protoc --version
配置完毕,下来开始编译

我在D盘创建了一个文件夹 用来编译保存生成的文件
然后再文件下新建java文件夹
接下来我们创建一个msg.proto


syntax 必须要加上相应的版本,否则编译会出错

v3版本貌似不需要添加属性前面的字段,加上之后编译出错


好了,接下来我们开始编译


点击目录栏,输入cmd如下图

接下来输入命令编译java文件

protoc.exe msg.proto --java_out=./


可以看到msg的java文件生成了,接下来我们说说netty中的应用


大家应该都知道netty自己封装的protobuf只能传输单一的数据类型如下图



只能解码出LoginRequest的消息,但是我们实际中肯定是多种协议,我们来定义一个proto文件。

注意一下 枚举这块enum,开始的第一个必须为0,不然编译出错,然后大家了解一下oneof这个字段

生成java文件之后我们再进行netty的改造

这里报错是因为没加包路径加上就好了

客户端发送过来的是Pig数据,而服务端回应的是一组人类的消息。
大概就是这样吧如有不足请大佬们指教.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值