protobuf

Hello.Reader5 小时前
linux·服务器·网络·protobuf·editions
一文吃透 Protobuf “Editions” 模式从概念、语法到迁移与实战过去我们在 .proto 顶部写 syntax = "proto2" 或 syntax = "proto3",这两者在字段存在性、默认值、打包编码等方面有细微差异。 Editions 的思路是:用 edition = "<year>"(如 2023/2024)统一入口,并通过一组特性(Features)来精确描述语言行为(还允许在文件 / 消息 / 字段不同粒度覆写特性默认值)。这样能更平滑地演进语言,而不是用“protoN”大版本硬切。
poemyang2 天前
rpc·json·protobuf
从JSON到Protobuf,深入序列化方案的选型与原理序列化:数据跨越边界的翻译官 序列化(Serialization)用于描述RPC服务接口和数据结构。在RPC通信中,客户端和服务器之间传输的数据通常是结构化的,如调用方法、请求参数、返回值等。这些结构化数据需要通过序列化过程转换为二进制流,以便在网络中进行传输。 目前,常见的跨语言序列化编码方式包括XML、JSON和Protobuf。尽管XML曾经广泛使用,但现在已经逐渐被淘汰。JSON目前正处于其使用高峰,而Protobuf则是一种新兴并且正在快速发展的序列化方式。值得一提的是,gRPC默认选择使用Pr
是店小二呀2 天前
网络·c++·http·protobuf
【ProtoBuf 】C++ 网络通讯录开发实战:ProtoBuf 协议设计与 HTTP 服务实现在现代软件开发中,数据序列化是系统间通信的核心技术之一。随着分布式架构和微服务的普及,如何高效、可靠地在客户端与服务端之间传输结构化数据成为了关键问题。Protocol Buffers(protobuf)作为 Google 开源的序列化框架,以其高性能、跨语言支持和强类型约束等特性,在众多序列化方案中脱颖而出。本文将通过实现一个完整的网络版通讯录系统,深入探讨 protobuf 在实际项目中的应用,并与 JSON、XML 等传统序列化方案进行全面对比。
张醒言17 天前
后端·rpc·protobuf
Protocol Buffers 中 optional 关键字的发展史optional 关键字在 Protocol Buffers (ProtoBuf) 中的演变历程,深刻地反映了其设计哲学从“显式严格”向“简洁高效”演进,最终又回归“务实灵活”的实践过程。这是一次经典的、由社区需求驱动的技术演进。
bkspiderx22 天前
json·protobuf·protobuf与json转换
pb2json.hpp 文档:Protobuf 与 JSON 通用转换工具类pb2json.hpp 是一个基于 C++ 的通用工具类头文件,用于实现 Protobuf 消息与 JSON 格式(通过 jsoncpp 库)的双向转换。该类利用 Protobuf 的反射(Reflection)机制,支持任意 Protobuf 消息类型的转换,无需为特定消息编写专用代码。
菜菜的后端私房菜1 个月前
java·后端·protobuf
Protocol Buffers!高效数据通信协议在现代软件开发中,尤其是在分布式系统、微服务架构和跨平台应用中,不同组件或服务之间需要进行高效且可靠的数据交换
Code季风2 个月前
go·grpc·protobuf
gRPC与Protobuf集成详解—从服务定义到跨语言通信(含Go和Java示例)在前几篇文章中,我们已经掌握了 Protobuf 的基础语法、高级特性和序列化反序列化操作。本篇文章将深入讲解 gRPC 与 Protobuf 的集成,重点介绍如何通过 .proto 文件定义服务接口,并在 Go 和 Java 中实现 gRPC 服务与客户端的完整交互流程。我们将通过详细代码示例和分步解析,帮助你彻底掌握微服务架构中的通信设计。
Code季风2 个月前
go·protobuf
Protobuf 高级特性详解在前几篇文章中,我们已经掌握了 Protocol Buffers(Protobuf)的基础语法、.proto 文件的结构、以及如何使用 Go 和 Java 进行数据的序列化与反序列化操作。本篇文章将深入探讨 Protobuf 的高级特性,包括:
witton2 个月前
c语言·开发语言·游戏·c·模块化·protobuf·protobuf-c
C语言使用Protobuf进行网络通信笔者前面博文Go语言网络游戏服务器模块化编程介绍了Go语言在开发网络游戏时如何进行模块化编程,在其中使用了Protobuf进行网络通信。在Protobuf官方实现中并没有生成C语言的实现,不过有一个开源的protobuf-c可以使用。
zhuyasen3 个月前
后端·go·protobuf
深度定制 protoc-gen-go:实现结构体字段命名风格控制在日常的 Go 微服务开发中,Protocol Buffers(protobuf) 是广泛使用的数据交换格式。其配套工具 protoc-gen-go 会根据 .proto 文件生成 Go 结构体代码,但默认生成的字段名、JSON tag 命名风格往往不能满足所有团队或项目的代码规范需求。
喵个咪3 个月前
微服务·orm·protobuf
开箱即用的GO后台管理系统 Kratos Admin - 代码生成工具集我们为go-kratos-admin这个项目打造了一个代码生成工具集。项目代码地址:该工具将本地配置文件导出到Consul或Etcd等远程配置系统,从而更轻松地管理分布式系统中的配置。
Watink Cpper3 个月前
linux·开发语言·c++·protobuf
[Protobuf]常见数据类型以及使用注意事项[Protobuf]常见数据类型以及使用注意事项 @水墨不写bugprotobuf 支持多种基础数据类型,常用的有:
Watink Cpper3 个月前
linux·开发语言·protobuf
[Protobuf] 快速上手:安全高效的序列化指南标题:[Protobuf] (1)快速上手 @水墨不写bugProtocol Buffers(简称 protobuf)是由 Google 开发的一种与语言无关、平台无关、可扩展的序列化数据结构的方法。它用于结构化数据的序列化与反序列化,类似于 XML 或 JSON,但更小、更快、更简单。
榴弹丶5 个月前
前端·c++·protobuf
web通过离线编译protobuf,在线解析proto二进制数据github.com/protocolbuf…--proto_path=./protos/ 如果你有多个.proto文件需要编译,或者有互相引用的.proto文件,需要设置--proto_path,大致意思是包含proto_path文件夹下的所有.proto文件
徐小黑ACG5 个月前
开发语言·后端·golang·grpc·protobuf
GO简单开发grpc首先我们需要了解,什么是grpcgRPC(全称:google remote procedure call)是由Google开发的一个高性能、开源的远程过程调用(RPC)框架。它基于 HTTP/2 协议,并且使用 Protocol Buffers(Protobuf)作为接口定义语言,提供了不同系统之间高效、安全的通信方式。gRPC 支持多种语言(包括 Go、C++、Java、Python 等),并且提供了丰富的功能,比如流式处理、双向通信、负载均衡等。
徐小黑ACG5 个月前
开发语言·后端·golang·protobuf
GO语言 使用protobufprotobuf是一种类似于json和xml的数据序列化格式我们可能会存在这样的问题:不同语言之间真的没有办法互相传递数据吗?如果可以,那如果一个项目使用了多种语言有应该如何传递数据?
湫qiu6 个月前
java·go·protobuf
手写 Protobuf —— Java 代码生成在上一集手写 protobuf —— 词法解析与语法解析完成了.proto 文件的词法分析和语法分析后,我们获得了一个抽象语法树(AST)。现在需要将这个 AST 转换为对应的 Java 代码。
全栈ing小甘6 个月前
后端·golang·protobuf·序列化协议
数据序列化协议 Protobuf 3 介绍(Go 语言)序列化(Serialization 或 Marshalling) 是指将数据结构或对象的状态转换成可存储或传输的格式。反向操作称为反序列化(Deserialization 或 Unmarshalling),它的作用是将序列化的数据恢复成原始的数据结构或对象。
特立独行的猫a6 个月前
单片机·嵌入式硬件·protobuf·nanopb
Protocol Buffers在MCU上的nanopb介绍及使用详解在嵌入式系统和资源受限的环境中,传统的Protocol Buffers 可能显得过于庞大。因此,nanopb 应运而生,它是一个轻量级的 Protocol Buffers 生成器,专为嵌入式系统设计c语言设计。本文将介绍如何安装和使用 nanopb,以及通过一个简单的例子来展示它的基本用法。
linux开发之路7 个月前
c++·zookeeper·github·protobuf·rpc框架
GitHub推荐C++项目:基于muduo、protobuf、zookeeper实现RPC框架项目地址: GitHub - attackoncs/rpc: 基于muduo、protobuf、zookeeper的rpc实现