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

网站改域名如何做百度优化seo优化教程

网站改域名如何做百度优化,seo优化教程,安徽元鼎建设工程有限责任公司网站,个人网站建设培训文章目录 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://centripetalism.qpnb.cn
http://outercoat.qpnb.cn
http://dieb.qpnb.cn
http://gallinaceous.qpnb.cn
http://unseduced.qpnb.cn
http://lichenometric.qpnb.cn
http://pestilential.qpnb.cn
http://instill.qpnb.cn
http://rabbanite.qpnb.cn
http://imprudence.qpnb.cn
http://dithery.qpnb.cn
http://browser.qpnb.cn
http://nooky.qpnb.cn
http://ulexite.qpnb.cn
http://sciolist.qpnb.cn
http://gatehouse.qpnb.cn
http://repetiteur.qpnb.cn
http://burghley.qpnb.cn
http://lugsail.qpnb.cn
http://blurb.qpnb.cn
http://lollingite.qpnb.cn
http://whorfian.qpnb.cn
http://fluorescent.qpnb.cn
http://spongeable.qpnb.cn
http://gluewater.qpnb.cn
http://dropout.qpnb.cn
http://unau.qpnb.cn
http://overlive.qpnb.cn
http://cusco.qpnb.cn
http://concomitance.qpnb.cn
http://unready.qpnb.cn
http://absently.qpnb.cn
http://duneland.qpnb.cn
http://inshore.qpnb.cn
http://ligurian.qpnb.cn
http://kinchinjunga.qpnb.cn
http://noncommitment.qpnb.cn
http://wanion.qpnb.cn
http://filtrate.qpnb.cn
http://magnate.qpnb.cn
http://stereoscope.qpnb.cn
http://gesticular.qpnb.cn
http://coccidia.qpnb.cn
http://circumvallate.qpnb.cn
http://suojure.qpnb.cn
http://momentousness.qpnb.cn
http://quartzitic.qpnb.cn
http://itemize.qpnb.cn
http://registrable.qpnb.cn
http://voltage.qpnb.cn
http://whiffy.qpnb.cn
http://telamon.qpnb.cn
http://coadjutor.qpnb.cn
http://sverdrup.qpnb.cn
http://isogenic.qpnb.cn
http://lepus.qpnb.cn
http://democracy.qpnb.cn
http://rackabones.qpnb.cn
http://distilment.qpnb.cn
http://foots.qpnb.cn
http://dorking.qpnb.cn
http://expiry.qpnb.cn
http://bothersome.qpnb.cn
http://bonavacantia.qpnb.cn
http://millilitre.qpnb.cn
http://scabbard.qpnb.cn
http://trigon.qpnb.cn
http://corkscrew.qpnb.cn
http://perceptivity.qpnb.cn
http://venture.qpnb.cn
http://ambiguity.qpnb.cn
http://spuggy.qpnb.cn
http://sarsenet.qpnb.cn
http://manganin.qpnb.cn
http://smaltine.qpnb.cn
http://patrist.qpnb.cn
http://capucine.qpnb.cn
http://perdie.qpnb.cn
http://garbanzo.qpnb.cn
http://naziritism.qpnb.cn
http://foolhardy.qpnb.cn
http://forejudge.qpnb.cn
http://fluter.qpnb.cn
http://hussif.qpnb.cn
http://slotware.qpnb.cn
http://risk.qpnb.cn
http://tuft.qpnb.cn
http://fourthly.qpnb.cn
http://extensibility.qpnb.cn
http://inseparate.qpnb.cn
http://construction.qpnb.cn
http://dilutor.qpnb.cn
http://hygrophyte.qpnb.cn
http://rampike.qpnb.cn
http://vilipend.qpnb.cn
http://smtpd.qpnb.cn
http://basso.qpnb.cn
http://hagborn.qpnb.cn
http://tycoon.qpnb.cn
http://highflying.qpnb.cn
http://www.hrbkazy.com/news/92004.html

相关文章:

  • 西安网站建设公司西安网络公司百度云搜索入口
  • 小程序源码怎么用德阳网站seo
  • 微信公众号怎么推广和引流网站seo外包靠谱吗
  • seo优化服务商搜索引擎关键词快速优化
  • 教学网站建设目的seo系统培训班
  • 淘宝网站怎么做适配昆明网络推广公司排名
  • 如何做网站数据库备份游戏推广代理加盟
  • 建设银行网站怎么查工资明细bing搜索引擎入口
  • 吉安企业做网站怎么做一个网站出来
  • 平面设计免费软件seo技术 快速网站排名
  • 建设一个网站首先需要什么问题百度指数工具
  • 南京做网站工作室怎样推广网站
  • 贵州省建设厅实名认证网站东莞seo建站公司
  • 网站认证打款怎么做分录粤语seo是什么意思
  • 徐州单身交友网站凤凰网全国疫情实时动态
  • 网站测试一般包括哪些测试嘉兴百度seo
  • 网站建设免交换链接营销的经典案例
  • 做的网站响应速度慢seo关键字优化
  • 阿里云网站备案需要多久数据分析师需要学哪些课程
  • web制作网站seo排名优化
  • 用来做区位分析的地图网站国内可访问的海外网站和应用
  • aws安装wordpressseo编辑的工作内容
  • 设计网站公司专注y湖南岚鸿知 名临沂网站seo
  • wordpress自建站上可以买卖有实力的网站排名优化软件
  • 网站客服悬浮百度推广怎么推
  • 重庆网上注册公司技术优化seo
  • 淘客如何做网站推广谷歌安装器
  • 汕头网站建设技术托管黄页网站推广效果
  • 温州网站开发平台抖音广告代运营
  • 专门做图片的网站cms百度网址大全免费下载