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

自己动手创建一个公司网站怎么查网站到期时间

自己动手创建一个公司网站,怎么查网站到期时间,景观平台设计,网站开发价格对比手写RPC——数据序列化工具protobuf Protocol Buffers(protobuf)是一种用于结构化数据序列化的开源库和协议。下面是 protobuf 的一些优点和缺点: 优点: 高效的序列化和反序列化:protobuf 使用二进制编码&#xff0c…

手写RPC——数据序列化工具protobuf

Protocol Buffers(protobuf)是一种用于结构化数据序列化的开源库和协议。下面是 protobuf 的一些优点和缺点:

优点:

  • 高效的序列化和反序列化:protobuf 使用二进制编码,相比于文本格式(如 JSON 或 XML),具有更高的序列化和反序列化性能。它使用紧凑的二进制格式,节省了存储空间和网络带宽。

  • 小巧的消息体积:protobuf的编码格式非常紧凑,消息体积较小。这对于需要在网络上传输大量数据或存储大量数据的场景非常有利,减少了存储和传输的成本。

  • 跨语言支持:protobuf 支持多种编程语言,包括 C++, Java, Python, Go 等,使得不同语言的应用程序能够相互通信和交换数据。protobuf 提供了自动生成的代码,使得在不同语言之间进行数据传输更加方便。

  • 可扩展性:protobuf 的消息格式是可扩展的,允许向已有的消息类型添加新的字段或修改现有字段,而不会破坏向后兼容性。这使得在数据模型发生变化时,能够平滑地升级和演化。

  • 易于维护和更新:由于 protobuf 使用 IDL(接口定义语言)来定义消息格式,使得代码的维护和更新更加容易。只需更新 IDL 文件,并重新生成代码,就能够同步更新所有相关的代码。

缺点:

  • 不适合人类可读:protobuf 使用二进制编码,不像 JSON 或 XML 那样易于人类可读和调试。这对于调试和开发过程中的可视化和人类可读性要求较高的场景可能不够友好。

  • 需要预先定义消息格式:protobuf 要求在使用之前,需要先定义消息格式,并生成对应的代码。这增加了一些额外的步骤和工作量,相比于一些动态的数据格式,如 JSON,可能稍显繁琐。

  • 不支持动态架构:protobuf 的消息格式在定义后是静态的,不支持在运行时动态地修改和扩展消息。如果需要在运行时根据需要动态地修改数据结构,protobuf可能不是最佳选择。

总体而言,protobuf 是一种高效、跨语言和可扩展的数据序列化和通信协议,适用于对数据大小和性能要求较高的场景。它在分布式系统、网络通信和存储等领域得到广泛应用。然而,根据具体的使用场景和需求,仍需综合考虑其优点和缺点,选择合适的数据格式和通信协议。

安装protobuf

这里以ubuntu为例子

sudo apt install  libprotobuf-dev

使用

定义一个rpc.proto文件

syntax = "proto3";
package rpc;
message AddRequest {int32 x = 1;int32 y = 2;
}message AddResponse {int32 result = 1;
}

采用下面的指令转换为C++代码

protoc --cpp_out=. rpc.proto

一个简单的使用例子

#include <iostream>
#include <string>
#include "rpc.pb.h"using namespace std;
using rpc::AddRequest;
using rpc::AddResponse;int main() {// 构建请求消息AddRequest request;request.set_x(5);request.set_y(3);// 将消息进行序列化成字符串存储至requestStrstring requestStr;request.SerializeToString(&requestStr);//对字符串进行解析AddRequest req;req.ParseFromString(requestStr);AddResponse response;response.set_result(request.x() + request.y());cout<<"result:"<<response.result()<<endl;return 0;
}

输出结果如下:
在这里插入图片描述
可见我的github仓库:https://github.com/mulinhu/CPPer/tree/main/network_demo/proto_demo

http://www.yayakq.cn/news/995422/

相关文章:

  • 美丽乡村建设网站模板商业性质网站建设步骤
  • 动态域名做网站创建公司为什么必须三个人
  • 某学校网站建设方案子网站域名ip地址查询
  • 眉县住房和城乡建设局网站北京app开发公司排名
  • 通过alt让搜索引擎了解该图片信息很多是网站有问题吗企业推广费用
  • 网站建设成本包括什么wordpress不显示其它主题
  • 中贸网做的网站用c 做网站和数据库方法
  • 石家庄网站优化招聘wordpress所有插件
  • 权重较高网站东莞公司高端网站建设
  • 做网站需要什么素材朵朵软件网站建设
  • 网站如何吸引用户做资源教程网站
  • 重庆平台网站建设找哪家wordpress会员模板
  • 网站建设创新成果制作手机app需要学什么编程
  • 网页设计与网站建设在线第二章网站开发 顺德
  • 网站选项怎么做海南智能网站建设公司
  • 网站建设培训哪个好大学英文网站建设方案
  • 一键建站系统源码wordpress菜单文件夹
  • 如何创办一个赚钱的网站龙岩新罗区
  • 网站建设的目的只是开展网络营销全包胶衣网站
  • 建什么网站收益比较号成都品牌建设网站公司
  • 电子商务网站建设书籍wordpress教程阿里云
  • 溧阳建设工程监理网站wordpress密码无法重置
  • 建网站seovps试用30天
  • 网站诊断与检测昆明做网站哪家公司好
  • 现在网站建设都用什么语言改变wordpress表前缀
  • 做会员系统的网站用什么cms好拼多多电商网站建设
  • 网站编程源码免费个人网站备案通过后
  • 手机好在百度做网站吗网站百度知道怎么做推广
  • 设计师资源网站中国建设银行青岛网站
  • 网站做全好吗网站数据库地址是什么