当前位置: 首页 > news >正文

Netty应用——Google Protobuf强化篇(二十)

Protobuf发送一种实例

  1. 客户端可以发送一个 Student PoJo 对象到服务器 (通过 Protobuf 编码)
  2. 服务端能接收 Student PoJo 对象,并显示信息(通过 Protobuf 解码)
Student.proto
syntax = "proto3"; //版本
option java_outer_classname = "StudentPOJO";//生成的外部类名,同时也是文件名
//protobuf 使用message 管理数据
message Student { //会在 StudentPOJO 外部类生成一个内部类 Student, 他是真正发送的POJO对象int32 id = 1; // Student 类中有 一个属性 名字为 id 类型为int32(protobuf类型) 1表示属性序号,不是值string name = 2;
}编译:protoc.exe --java_out=. Student.proto

Protobuf多种实例

  1. 客户端可以随机发送Student PoJo/ Worker PoJo 对象到服务器(通过 Protobuf 编码)
  2. 服务端能接收Student PoJo/ Worker PoJo 对象(需要判断是哪种类型),并显示信息(通过Protobuf解码)
Student.proto
syntax = "proto3";
option optimize_for = SPEED; // 加快解析
option java_package="com.atguigu.netty.codec2";   //指定生成到哪个包下
option java_outer_classname="MyDataInfo"; // 外部类名, 文件名
//protobuf 可以使用message 管理其他的message
message MyMessage {//定义一个枚举类型enum DataType {StudentType = 0; //在proto3 要求enum的编号从0开始WorkerType = 1;}//用data_type 来标识传的是哪一个枚举类型DataType data_type = 1;//表示每次枚举类型最多只能出现其中的一个, 节省空间oneof dataBody {Student student = 2;Worker worker = 3;}
}
message Student {int32 id = 1;//Student类的属性string name = 2; //
}
message Worker {string name=1;int32 age=2;
}

http://www.lryc.cn/news/302617.html

相关文章:

  • SpringAMQP开启“可靠性”机制
  • 戴尔Dell R740服务器开机冒烟亮黄灯故障维修
  • 【阅读笔记】空域保边降噪《Side Window Filtering》
  • vue3前端excel导出;组件表格,自定义表格导出;Vue3 + xlsx + xlsx-style
  • npm install一直卡在 sill idealTree buildDeps
  • spring boot rabbitmq常用配置
  • MySQL学习记录——십삼 视图及用户、权限管理
  • PyCharm 自动添加文件头注释
  • 用HTML Canvas和JavaScript创建美丽的花朵动画效果
  • java----js常用的api
  • unity 使用VS Code 开发,VS Code配置注意事项
  • 领域驱动设计(Domain Driven Design)
  • CF778A String Game 题解
  • 【工具插件类教学】Unity运行时监控变量,属性,事件等的值和调用Runtime Monitoring
  • 实际生产中的一次非典型的基于jmeter的接口自动化实践
  • 新能源汽车软件开发设计规范
  • Linux:grep进阶(11)
  • 【实战】二、Jest难点进阶(一) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(五)
  • 8.2 新特性 - 透明的读写分离
  • 关于三维GIS开发成长路线的一些思考
  • git操作---> 使用git push,和使用git push origin HEAD:[分支名]有什么区别呢?
  • 基于Java的大学社团管理平台
  • 1.函数模板基础
  • 22-k8s中pod的调度-亲和性affinity
  • 通俗易懂,Spring Bean生命周期管理的理解
  • 找座位 - 华为OD统一考试(C卷)
  • npm run dev运行出现NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?
  • 钠离子电池技术
  • 第三十六天| 435. 无重叠区间、763.划分字母区间、56. 合并区间
  • React setState同步还是异步