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

做网站卖游戏装备ipv6可以做网站吗

做网站卖游戏装备,ipv6可以做网站吗,wordpress不显示目录文章,上海龙华医院的网站建设Protobuf 序列化概述 Protobuf#xff08;Protocol Buffers#xff09;是由Google开发的一种语言中立、平台中立、可扩展的序列化结构数据的方法。它用于在不同系统之间高效地交换数据。Protobuf使用定义文件#xff08;.proto#xff09;来描述数据结构#xff0c;并通过…Protobuf 序列化概述 ProtobufProtocol Buffers是由Google开发的一种语言中立、平台中立、可扩展的序列化结构数据的方法。它用于在不同系统之间高效地交换数据。Protobuf使用定义文件.proto来描述数据结构并通过编译生成特定语言的代码。它的优点包括小巧的二进制格式、高效的序列化速度和向后兼容性非常适合需要高性能和跨语言的应用场景。 常见序列化格式 序列化格式描述优点缺点适用场景JSON一种轻量级的数据交换格式使用文本表示基于键值对。可读性好跨平台、跨语言支持广泛解析库多体积较大性能较低相较于二进制格式Web应用API通信XML类似HTML的标记语言用于表示结构化数据。结构化良好支持复杂的数据类型冗余较大体积大解析速度慢早期Web服务严格的数据验证ProtobufGoogle开发的二进制序列化格式高效、语言中立。高效的二进制格式传输速度快向后兼容性好不可读需定义.proto文件并编译高性能系统服务间通信gRPCAvroApache开发的序列化格式适合大数据处理。数据描述和数据一起存储支持丰富的数据类型需要架构支持工具复杂度高大数据处理Hadoop和Kafka环境MessagePack一种高效的二进制序列化格式比JSON更紧凑。二进制格式更紧凑解析速度快人类不可读调试较难网络通信资源受限环境 序列化Serialization 序列化是指将对象或数据结构转换成一种可以保存到文件或传输到网络上的格式的过程。这种格式通常是二进制或文本格式便于传输或存储。通过序列化复杂的数据结构如对象、数组、字典等可以被转换为线性的字节流。 序列化作用 持久化存储数据可以被序列化后保存到磁盘供将来使用。 数据传输序列化后的数据可以在网络上传输便于不同的计算机或进程间交换数据。 跨语言交互通过中立的序列化协议如Protobuf、JSON、XML不同编程语言之间可以交换数据。反序列化Deserialization 反序列化是序列化的逆过程它将字节流或文件恢复为原始的对象或数据结构。通过反序列化接收到的或读取的序列化数据可以重新恢复成在发送端的对象格式。 反序列化作用 数据恢复可以从磁盘、数据库或网络中读取序列化的数据并恢复为内存中的数据结构。 跨语言兼容性接收到的序列化数据可以通过反序列化恢复成接收端系统中相应的结构。.proto文件用于定义Protobuf的消息结构它通过声明消息类型、字段、枚举等内容生成用于序列化和反序列化的代码。以下是Protobuf的.proto文件语法格式的基本构成和示例。 proto 基本语法 syntax指定 Protobuf 的语法版本常用的是 proto3。Protobuf 的语法版本主要分为两个版本proto2 和 proto3。它们在功能和约束上有所不同proto3 是 proto2 的简化和改进版本。 syntax proto3;package用于在 .proto 文件中定义消息所在的包名类似于编程语言中的命名空间namespace。它可以帮助在生成代码时避免命名冲突并组织和管理生成的代码结构。 在 Protobuf 编译器生成的代码中package 会影响生成文件的路径或命名。例如在 Java 中 package 会映射到相应的包结构。在 Python 中它可以影响模块导入的结构。 package mypackage;import在 Protobuf 中import 允许你在一个 .proto 文件中引用和使用其他 .proto 文件定义的消息、枚举或服务。这在大型项目中非常有用可以将不同的消息定义拆分成多个文件从而更好地组织和管理代码。 import other.proto;message定义一个消息类型相当于面向对象编程中的类。在 Protobuf 中message 用于定义一个消息类型类似于面向对象编程中的类它表示一种结构化数据格式。每个 message 包含一组字段每个字段有一个类型、名称和唯一的标识符tag用于标记在序列化和反序列化过程中字段的顺序。 message MyMessage {int32 id 1;string name 2; }Protobuf 字段类型 标量类型Protobuf支持多种基本数据类型例如 int32, int64, float, double, bool, string, bytes等。 repeated表示字段可以重复类似于数组或列表。 自定义类型可以引用其他消息类型或枚举类型。enum定义枚举类型。在 Protobuf 中enum 用于定义枚举类型它表示一组固定的常量值。每个枚举值都有一个唯一的名称和对应的整数值整数值通常从 0 开始递增。enum 类似于其他编程语言中的枚举类型常用于表示状态、类型、选项等离散的固定值集合。 enum Status {UNKNOWN 0;STARTED 1;COMPLETED 2; }service定义服务和RPC方法主要用于gRPC。服务是逻辑上的一组功能或操作定义了客户端和服务器之间的接口。在 gRPC 中服务使用 service 关键字定义。一个服务可以包含多个 RPC 方法。 RPC 方法是服务中的具体操作描述了客户端如何请求服务器执行某项任务。每个 RPC 方法都有输入消息和输出消息。输入消息定义了客户端发送给服务器的数据结构。输出消息定义了服务器返回给客户端的数据结构。 service MyService {rpc GetUser (UserRequest) returns (UserResponse); }RPC 方法输入消息 message UserRequest {int32 user_id 1; }RPC 方法输出消息 message UserResponse {string name 1;string email 2; }tag每个字段都有一个唯一的 tag用于在序列化时识别字段范围为 1 到 2^29 - 1。 proto 常见字段类型 类型说明int3232位整型int6464位整型float32位浮点数double64位浮点数bool布尔型string字符串bytes二进制数据repeated重复字段相当于数组或列表 proto3 案例 syntax proto3;package example;enum TaskStatus {PENDING 0;IN_PROGRESS 1;DONE 2; }message Task {int32 id 1;string description 2;TaskStatus status 3;repeated string labels 4; // 标签数组 }service TaskService {rpc CreateTask(Task) returns (Task);rpc GetTask(Task) returns (Task); }编译 .proto 文件 使用 Protobuf 编译器protoc可以生成目标语言的代码例如 C、Python、Java。编译后会生成相应语言的类用于序列化和反序列化定义的消息。 protoc --python_out. yourfile.proto
http://www.hkea.cn/news/14499885/

相关文章:

  • window7用jsp做的网站要什么工具企业网站推广计划书
  • 网站可以做10000件事情吗济南建设厅网站
  • 建设分销网站广安建设机械网站
  • 中国最大的建材网站a5站长网网站交易
  • 怎么用esc服务器做网站国际最新局势最新消息
  • 慈溪市建设厅网站阳朔到桂林
  • 关于建立公司网站的申请河南做网站汉狮网络
  • 专业做房地产网站建设多用户商城系统哪个好
  • 网站建设网上消费算在年费漯河网站建设(千弘网络)
  • 网站建设设计公司排名php怎么做网站快
  • 地方门户网站的推广江苏省建设档案网站
  • 爱站网长尾关键词挖掘工具让做网站策划没经验怎么办
  • 如何做网站可以吗电脑网页加速器
  • 网站图片被盗连怎么办啊东莞网站建设培训班
  • 网站建设行业研究wordpress多语言插件
  • 有关网站建设的论文企业免费网站系统下载地址
  • php做网站需要的技术成都住建官网app
  • wordpress 获取当前路径seo要点
  • 找人做网站怎么知道归属人创意做网站公司
  • 如何造网站公司做网站所上传的产品图片
  • 做文献的ppt模板下载网站网站菜单设置
  • 做二手车放在哪个网站好深圳品牌策划设计方案
  • 贵州网站建设 零玖伍壹网络海报设计素材网站免费
  • 纪检网站建设计划wordpress登陆可见设置
  • 通州网站开发网站制作费计入什么科目
  • 厦门做企业网站的公司网址自动生成手机网站
  • 建设促销网站前的市场分析开发平台官网
  • 网站建设明细报价单wordpress同ip弹一次广告
  • 长尾关键词挖掘爱站网硬件开发设计公司
  • 学做网站要学什么东西如何利用开源代码做网站