宝安品牌网站制作江苏外协机械加工网

news/2025/10/9 1:26:34/文章来源:
宝安品牌网站制作,江苏外协机械加工网,聊城专业做网站公司,全球做空现货黄金的网站介绍 上一节中#xff0c;我们介绍了protobuf#xff0c;简单来说#xff0c;它是一种消息数据格式#xff0c;其作用类似于json#xff0c;但是比json的使用效率要高。 除此以外#xff0c;我们介绍了protobuf的简单使用#xff0c;也就是如何可以像使用json一样我们介绍了protobuf简单来说它是一种消息数据格式其作用类似于json但是比json的使用效率要高。 除此以外我们介绍了protobuf的简单使用也就是如何可以像使用json一样将消息数据进行序列化和反序列化 nullhttps://blog.csdn.net/qq_58158950/article/details/136277730?spm1001.2014.3001.5501但是在日常开发中除了我们在上节中会使用到的普通数据之外我们还会用到列表数组类型和映射表类型的数据本节我们将介绍如何使用protobuf对列表类型的数据进行序列化和反序列化 使用 protobuf中的代码复用 仍旧首先编写protobuf配置文件 在上一节中我们定义登录响应消息类型的时候有两个成员变量errcode和errmasg这两个成员变量的作用就是来告诉客户端我们发送给服务端的请求是否出错以及出错信息。 message loginResponse {int32 errcode1;string errmsg2;bool success3; } 因此作为响应消息这两个成员变量是必须的比如我们如果要定义一个注册请求消息 message regResponse {int32 errcode1;string errmsg2;bool success3; } 显然这种定义方式不符合代码的复用因此我们完全可以将这两个成员变量单独拿出来定义一个类型 //封装响应消息 message resultCode {int32 errcode1;bytes errmsg2; } 那么登录响应消息就变成了 //登录响应消息 message loginResponse {resultCode resMsg1;bool success3; } 而在c代码中我们想要使用loginResponse类的resultCode 成员变量时就需要这样写 void test() {loginResponse reqb;//获取resultCode成员对象的指针然后再通过该指针设置成员变量//该指针的获取方法是mutable_成员变量名称resultCode*rc reqb.mutable_resmsg();rc-set_errcode(1);rc-set_errmsg(登录处理失效); } protobuf中的列表数据类型 接下来我们介绍protobuf中列表数据类型 我们继上述配置文件代码再定义一个user消息类型其中性别成员变量是一个枚举类型 //用户消息 message user {bytes name1;uint32 age2;enum sex{man0;woman1;} } 我们再定义一个好友列表请求和好友列表响应消息 //好友列表请求 message friendListReq {int32 userid1; }//好友列表请求响应 message friendListResponse {resultCode resMsg1;// repeated关键字表示该消息是一个列表而不是单个消息repeated user friendList2; }由于好友列表响应返回的消息中好友不会只有一个因此需要返回一个user列表数组我们使用repeated关键字进行说明  完整的protobuf配置文件如下 syntaxproto3;//声明protobuf版本 package rpcProto;//声明了代码所在的命名空间//定义登录请求消息类型 message loginRequest {bytes name1;//表示loginRequest消息的第一个字段bytes passwd2;//表示loginRequest消息的第二个字段 }//封装响应消息 message resultCode {int32 errcode1;bytes errmsg2; }//登录响应消息 message loginResponse {resultCode resMsg1;bool success3; }//用户消息 message User {bytes name1;uint32 age2;enum Sex{man0;woman1;}Sex sex3; }//好友列表请求 message friendListReq {int32 userid1; }//好友列表请求响应 message friendListResponse {resultCode resMsg1;// repeated关键字表示该消息是一个列表而不是单个消息repeated User friendList2; }在终端输入以下代码生成对应的类文件 protoc test.proto --cpp_out./ 在c代码中测试 #includeiostream #includestring #includetest.pb.h using namespace std; using namespace rpcProto;void test() {friendListResponse fres;resultCode* pcfres.mutable_resmsg();pc-set_errcode(0);pc-set_errmsg(请求无错);// 使用add_列表变量名获取列表消息指针User *user1fres.add_friendlist();user1-set_name(zhangsan);user1-set_age(20);user1-set_sex(User::man);User *user2fres.add_friendlist();user2-set_name(lisi);user2-set_age(22);user2-set_sex(User::woman);coutfres.friendlist_size()endl;}int main() {test();return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车票网站模板网站建设项目经验怎么写

一、CS与BS的差异 二、Tomcat Tomcat :web container 可执行文件目录 配置文件 部署项目的一个文件夹(现在不怎么用这种方法) 在webapp中,可以创建自己的web项目: 里面需要包含一个文件夹:WEB-INF以及自己的网页 之后…

网站官网建设方案网站开发技术历史

幂级数和幂级数的和函数有什么关系? 本文例子引用自:80_1幂级数运算,逐项积分、求导【小元老师】高等数学,考研数学 求幂级数 ∑ n 1 ∞ 1 n x n \sum\limits_{n1}^{\infty}\frac{1}{n}x^n n1∑∞​n1​xn 的和函数 &#xff…

网站广告源码h5免费制作平台八图

我的算法刷题笔记(3.18-3.22) 1. 螺旋矩阵1. total是总共走的步数2. int[][] directions {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};方位3. visited[row][column] true;用于判断是否走完一圈 2. 生命游戏1. 使用额外的状态22. 再复制一份数组 3. 旋转图像观…

帮人做网站要怎么赚钱公司网站招聘的作用

链接:https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/c-run-time-library-reference?viewmsvc-160 重要文章: 跨 DLL 边界传递 CRT 对象时可能的错误 如果应用程序使用多个 CRT 版本,将存在什么问题?

梁露 网站建设与实践软件开发基本流程

训练项目:使用函数求质数和。 定义一个函数IsPrime(),据此判断一个数是否为质数 由用户输入一个整数,求出比此数大的两个最小质数之和。 一、解决思路: 1.先在键盘上输入一个整数 2.求出比此数大的最小质数 3.再求出比此质数大的另一个…

一 网站建设总体目标古典网站案例

1. 报错:Exception in thread "main" java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V 查询网上资料,是idea引入的scala运行环境版本与idea默认的scala版本不一样 也就是写的项目中的pom的spark版本与idea默认的版本不…

宜昌手机网站制作网销平台排名

最近微博上有几组“漫画”火了,但是却引发了巨大的争议,漫画作者微博昵称为“知春鹿可不这么想”,作者自称是腾讯的实习生,并通过漫画的形式描述着自己秋招、面试、实习等生活状态。这是其中一篇漫画。很多网友直接说出作者就是一…

北京哪个网站最好外贸网站搭建难不难

1.页面初始化闪烁 因为angularjs需要先解析html页面的指令的,才可以启动指令功能。angularjs需要等待整个文档加载完成才会解析,所以会出现一些{{xxx}}, ng-show, ng-hide指令内容一闪而过的问题,解决办法: 在存在闪烁的元素上添加ng-cloak …

企业建筑网站vi 设计

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

北京网络网站建设公司网站整体迁移该怎么做

目录1.导出目标2拉格朗日转换3对偶问题:因为是希望得出L最小时的一些参数w,b,a,但是目前很难一起求得最佳参数,所以换个思路。因为:所以能够容易的计算出拉格朗日乘子a约束时的最坏情况是:但是m个a的值还是无法求出&am…

企业网站建设信息管理平台做网站外包公司名称

本篇文章主要介绍了python爬虫之xpath的基本使用详解,现在分享给大家,也给大家做个参考。一起过来看看吧一、简介XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素&#xff…

网站建设和利用情况义乌小程序

前端Vue列表组件 list组件:实现高效数据展示与交互 摘要:在前端开发中,列表组件是展示数据的重要手段。本文将介绍如何使用Vue.js构建一个高效、可复用的列表组件,并探讨其在实际项目中的应用。 效果图如下: 一、引言…

php网站下载器写作网站哪个名声好

文章目录 一、运行流程初始化流程编译构建流程compile 编译make 编译模块build module 完成模块编译 输出流程seal 输出资源emit 输出完成 二、小结参考文献 一、运行流程 webpack 的运行流程是一个串行的过程,它的工作流程就是将各个插件串联起来 在运行过程中会…

锦州网站开发苏州电商网站建设

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

C语言 strtol() 函数用法

strtol 是 C 标准库中的一个重要函数,用于将字符串转换为长整数。下面解释这个函数: 函数原型long int strtol(const char* str, char** endptr, int base);参数说明 1. str - 要转换的字符串指向【以 null 结尾的字…

j永久网站重庆市公路建设信息网官网

文章目录 DAY7下降路径最小和最小路径和地下城游戏 DAY7 下降路径最小和 【题目描述】 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元…

.net做网站的方式深一网站建设招聘

最近在微信看到一篇文章介绍说批量将ppt文件转化为pdf文件,自己尝试了一下,后面想能否自己封装一个类,既能将ppt转换为pdf,而且能够将word转换为pdf,或者其他类型转化为pdf。花了半天时间研究和找资料,终于…

找个免费的网站wordpress源码买卖

作业1: 已知一个数组table,用宏定义求出数组元素的个数。 #define NUM sizeof(table)/sizeof(table[0]) 作业2: 嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit3,第…

设计师做网站的流程html网页制作小刘在线课程

很多朋友都想在一台服务器上运行多个MySQL Instance,究竟怎么做呢?首先要明晰几个原理, 简称为mysqld读取my.cnf的顺序:第一搜,首先读取/etc/my.cnf,多实例这个配置文件不会存在。:-(第二搜&…

网站广告收费标准wordpress每段不同图片

在 Vue 3 中,Pinia 是一个状态管理库,旨在替代 Vuex,提供更简单和更直观的 API。Pinia 支持 TypeScript,且其设计更符合 Vue 3 的组合式 API。 安装 Pinia 首先,你需要安装 Pinia和pinia-plugin-persistedstate。可以…