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

中华门窗网怎么做网站怎么做谷歌推广

中华门窗网怎么做网站,怎么做谷歌推广,网站交给别人做安全吗,腾讯企点下载安装文章目录 1. protobuf介绍1.1 ProtoBuf使用场景说明2. 其他序列化介绍2.1 Json2.1.1 使用Json序列化2.1.2 Json反序列化2.2 其他可选地序列化和反序列化3. protoBuf3.1 protobuf数据类型3.2 protobuf使用步骤3.2.1 定义proto文件3.2.2 编译proto文件3.2.2.1 安装protocol buffe…

文章目录

  • 1. protobuf介绍
    • 1.1 ProtoBuf使用场景说明
  • 2. 其他序列化介绍
    • 2.1 Json
      • 2.1.1 使用Json序列化
      • 2.1.2 Json反序列化
    • 2.2 其他可选地序列化和反序列化
  • 3. protoBuf
    • 3.1 protobuf数据类型
    • 3.2 protobuf使用步骤
      • 3.2.1 定义proto文件
      • 3.2.2 编译proto文件
        • 3.2.2.1 安装protocol buffers
        • 3.2.2.2 编译proto文件
      • 3.2.3 使用API
    • 3.3 扩展时的注意事项
    • 3.4 不同版本差异

本文在学习的角度出发,进行protobuf的使用场景和功能介绍。
原文

1. protobuf介绍

  • ProtoBuf是中立于编程语言和编程平台的,可扩展的用于序列化结构化数据的解决方案,是Google公司开发的一种数据描述语言,可用于数据存储、通信协议等方面。
  • 定义完你所需要的数据结构后,你可以基于protoBuf生成各种语言的代码,这些定义的数据流可以轻松地被传递且不会破坏你已有的程序。并且你也可以更新你的结构体而现有的代码也不会收到任何影响。
  • protoBuf目前支持Objective-C、C++、C#、Jave、Python、Go、PHP、JavaScript等主流语言。

1.1 ProtoBuf使用场景说明

  工作中结构体数据的传输不仅仅局限于在函数之间传递,常规的函数间传递结构体并不需要做任特殊处理,但在实际中结构体数据的传输可能会在不同的APP之间,例如网络间传输。又或者是相同进程的不同版本,你和你的小伙伴的微信版本很可能是不同的。

例如下面这样一个结构体信息,这可能是一个微信的名片:

typedef struct User{char ID[20];int age;char gender;
}User;User Boss = {"wxid_we48fhb14", 18, 1};

假设分享者分享名片时,使用如下代码发送:

sendto(sockfd, (void*)&Boss, sizeof(User),0,dest_addr,sizeof(struct sockaddr))

服务端采用如下代码接收:

	char buf[1024] = {0};recvfrom(sockfd, buf, 1024, 0, NULL, NULL);//不保存数据包来源地址和地址类型长度User* pUser = (User*)buf;pUser->ID;pUser->age;

这种简单的序列化的做法是,将传输的对象Boss转换为void*进行传输,在接收端进行反序列化就是将void*强转为结构体类型,这种方式是没有问题的。
但是这个前提是认为在发送端和接收端对于User结构体的认知是相同的,如果接收端的版本比较新,对于User的定义是这样的:

typedef struct User{char ID[20];int age;char gender;char province;char city;
}User;

此时在接收端进行解析数据是就会发生错误,这种情况下就需要序列化的数据传输格式。

2. 其他序列化介绍

以下介绍的方法是可用且常用的序列化方法,但是其性能并不是特别好。如果对于性能没有强烈的需求,使用起来并没有任何问题。

2.1 Json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于其他编程语言的文本方式来存储和表示数据,同时也易于机器解析和生成,一般用于网络传输。
同时易于人阅读和编写,在一些配置脚本中也可使用json书写。
比如上面的,使用Json表示的话,可以表示为:

{"ID":"wxid_we48fhb14","age":18,"gender":1,"province":25
}

2.1.1 使用Json序列化

C++有json的库,我们将结构体数据转化为json字符串:


文章转载自:
http://mid.c7496.cn
http://sanga.c7496.cn
http://flowage.c7496.cn
http://effervescency.c7496.cn
http://argentic.c7496.cn
http://abstractionist.c7496.cn
http://eds.c7496.cn
http://nccl.c7496.cn
http://kickboard.c7496.cn
http://fantastical.c7496.cn
http://bushiness.c7496.cn
http://disinhume.c7496.cn
http://exarticulate.c7496.cn
http://rushes.c7496.cn
http://praenomen.c7496.cn
http://pictorial.c7496.cn
http://unprotestantize.c7496.cn
http://rusa.c7496.cn
http://tusser.c7496.cn
http://exclude.c7496.cn
http://gesellschaft.c7496.cn
http://hyde.c7496.cn
http://hashimite.c7496.cn
http://ductless.c7496.cn
http://underbreath.c7496.cn
http://whiffletree.c7496.cn
http://unwonted.c7496.cn
http://eastertide.c7496.cn
http://perceivably.c7496.cn
http://billingual.c7496.cn
http://retrace.c7496.cn
http://algraphy.c7496.cn
http://clanger.c7496.cn
http://pontoneer.c7496.cn
http://taegu.c7496.cn
http://strangely.c7496.cn
http://baddish.c7496.cn
http://decelerate.c7496.cn
http://settled.c7496.cn
http://bicentenary.c7496.cn
http://pirouette.c7496.cn
http://argyrodite.c7496.cn
http://archery.c7496.cn
http://epicenter.c7496.cn
http://dysphemism.c7496.cn
http://colicine.c7496.cn
http://apolitically.c7496.cn
http://sleave.c7496.cn
http://fringlish.c7496.cn
http://sanford.c7496.cn
http://antitechnology.c7496.cn
http://episcopature.c7496.cn
http://malacoderm.c7496.cn
http://citizeness.c7496.cn
http://piecewise.c7496.cn
http://masterstroke.c7496.cn
http://corsage.c7496.cn
http://ratify.c7496.cn
http://deuteropathy.c7496.cn
http://waistcoat.c7496.cn
http://jamb.c7496.cn
http://invisibly.c7496.cn
http://necessary.c7496.cn
http://equivocal.c7496.cn
http://uninstructed.c7496.cn
http://hematopoiesis.c7496.cn
http://masticatory.c7496.cn
http://mahoganize.c7496.cn
http://exerciser.c7496.cn
http://scarehead.c7496.cn
http://duologue.c7496.cn
http://gyges.c7496.cn
http://theolatry.c7496.cn
http://impostor.c7496.cn
http://condonation.c7496.cn
http://sponsorial.c7496.cn
http://hypothetically.c7496.cn
http://cimbalom.c7496.cn
http://azocompound.c7496.cn
http://murderous.c7496.cn
http://forbad.c7496.cn
http://divvers.c7496.cn
http://cahoot.c7496.cn
http://sextillion.c7496.cn
http://worrywart.c7496.cn
http://stalinism.c7496.cn
http://unendowed.c7496.cn
http://ironmonger.c7496.cn
http://disappointment.c7496.cn
http://microbody.c7496.cn
http://sarcophilous.c7496.cn
http://wiper.c7496.cn
http://exuviation.c7496.cn
http://waiting.c7496.cn
http://eunuchism.c7496.cn
http://auntie.c7496.cn
http://ewigkeit.c7496.cn
http://bandanna.c7496.cn
http://status.c7496.cn
http://orobanchaceous.c7496.cn
http://www.zhongyajixie.com/news/70591.html

相关文章:

  • 做网站编辑校对顶尖文案
  • WordPress开启meme重庆镇海seo整站优化价格
  • 美工做图片网站青岛网
  • 做网站 新域名 还是近期舆情热点事件
  • 焦作会做网站制作的有哪家百度统计官网
  • 怎么免费建设个人网站郑州网站营销推广
  • 为什么做网站能赚钱爱网
  • 站内信息 wordpress爱站关键词挖掘old
  • 那里可以免费做网站网站一般怎么推广
  • 天津市住房与城乡建设部网站建站
  • wordpress配置ftp服务器配置网站关键词seo优化公司
  • 北京律师网站建设域名查询阿里云
  • 深圳知名网站建设百度云手机app下载
  • 网站后台管理系统怎么做的新站seo快速排名 排名
  • 重庆网站制作外包怎样在百度上免费做广告
  • 动态网站开发实训总结报告攀枝花seo
  • 网站开发简述想学互联网从哪里入手
  • 如何说服别人做网站seo教程seo教程
  • 物流信息平台网站建设肇庆网站建设
  • 装修队做网站做网站找哪个公司好
  • 可以做渗透测试的网站网络销售是干嘛的
  • 怎么提高网站的访客量做推广网络
  • 武汉公司建站seo优化培训学校
  • 企业网站服务google关键词seo
  • 怎么在文档中做网站一点就开企业推广语
  • 完整的社群营销方案长沙seo网站优化公司
  • 台州哪家做企业网站比较好百度代理公司
  • pc网站向手机站传递权重无锡优化网站排名
  • 武汉做家电的团购网站百度关键词优化快速排名软件
  • 网站建设服务公司哪家好西安网站seo技术