0271-GRPC-prost 带长度的编解码

news/2025/10/24 17:45:16/文章来源:https://www.cnblogs.com/jiangbo4444/p/19163944

环境

  • Time 2022-12-10
  • WSL-Ubuntu 22.04
  • prost 0.11

前言

说明

参考:https://docs.rs/prost-build/latest/prost_build/

目标

在前一节的基础上,使用 prost 进行带长度的编解码。

user.proto 文件

syntax = "proto3";
package user;
// 用户
message User{uint64 id = 1; // 编号string name = 2; // 用户名uint32 age = 3; // 年龄
}

Cargo.toml

[package]
edition = "2021"
name = "game"
version = "1.0.0"[dependencies]
prost = "0.11"[build-dependencies]
prost-build = "0.11"

mod.rs

mod user;pub use user::*;

user.rs

/// 用户
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct User {/// 编号#[prost(uint64, tag = "1")]pub id: u64,/// 用户名#[prost(string, tag = "2")]pub name: ::prost::alloc::string::String,/// 年龄#[prost(uint32, tag = "3")]pub age: u32,
}

main.rs

use prost::Message;mod proto;fn main() -> std::io::Result<()> {let user = proto::User {id: 1,name: "JiangBo".to_string(),age: 44,};let encode = user.encode_length_delimited_to_vec();let user = proto::User::decode_length_delimited(encode.as_ref())?;dbg!(user);Ok(())
}

运行结果

[src/main.rs:14] user = User {id: 1,name: "JiangBo",age: 44,
}

总结

使用 prost 来进行带长度的解码。

附录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/945548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年坡口机源头厂家最新推荐排行榜:欧盟 CE 认证企业领衔,含 15 年工业服务经验品牌,自走式/自动/板材/管道坡口机厂家推荐

引言 为解决工业制造企业选购坡口机时面临的品牌筛选难、品质无保障等问题,中国机械工业金属切削工具协会联合行业权威检测机构,开展了 2025 年度坡口机源头厂家测评工作。本次测评覆盖全国 32 个省市共 89 家坡口机…

0270-GRPC-使用 prost 解码

环境Time 2022-12-10 WSL-Ubuntu 22.04 prost 0.11前言 说明 参考:https://docs.rs/prost-build/latest/prost_build/ 目标 在前一节的基础上,使用 prost 进行解码。 user.proto 文件 syntax = "proto3"; …

完整教程:Java开发者进阶之路

完整教程:Java开发者进阶之路pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

python+request+unittest自动化测试

python+request+unittest自动化测试 案例:第一种方法,执行全部的用例 import unittest import requests class Cms(unittest.TestCase): @classmethod def setUpClass(cls) -> None: cls.s=requests.Session(…

国标GB28181平台EasyGBS视频调阅效果在跨域安防监控中的核心应用

国标GB28181平台EasyGBS视频调阅效果在跨域安防监控中的核心应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…

2025 年保温涂料厂家最新推荐排行榜:聚焦技术专利与管理体系认证的优质品牌耐高温/防火耐热/防腐/纳米介孔微珠中空粒子保温涂料公司推荐

引言 在工业升级与建筑节能需求日益增长的当下,保温涂料作为关键节能材料,市场需求持续攀升,但行业乱象却给用户选购带来极大困扰。部分供应商缺乏核心技术,产品保温性能差、耐久性不足,导致用户能耗过高、频繁更…

实战练习:小软件页面间跳转传值 子页面数据渲染

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年云南独立成团游公司权威推荐榜单:云南旅游团/云南私享之旅/云南专属行程游源头公司精选

面对云南旅游市场个性化需求的爆发式增长,独立成团服务正成为品质旅行者的首选。 据最新行业数据显示,2025年云南旅游市场中,6人以下精品小团需求同比增长175%,私密性、灵活性与深度体验成为游客的核心关注点。 在…

2025 年气凝胶生产厂家最新推荐排行榜:含气凝胶毡 / 粉 / 隔热板 / 保温罩 / 陶瓷板品牌,优质厂家推荐

引言 在环保节能与智能化技术飞速发展的当下,气凝胶作为纳米绝热保温材料的核心品类,在钢铁、焦化、化工等领域需求激增。为帮助企业精准筛选合作伙伴,中国绝热节能材料协会联合行业专家开展 2025 年度气凝胶厂家测…

2025年5.5KW工业吸尘器厂家权威推荐榜单:380V防爆吸尘器/7.5KW工业吸尘器/水浴式吸尘器源头厂家精选

工业清洁设备行业正迎来技术升级浪潮,5.5KW大功率工业吸尘器凭借其卓越的清洁效率和稳定的工作性能,已成为制造业企业的首选清洁解决方案。 在工业4.0和智能制造加速推进的背景下,精密制造、化工、医药等领域对生产…

102302143郑泽雄第一次作业

1.用requests和BeautifulSoup库方法爬取大学排名信息。 核心代码及结果由图可知,所需信息在table的tbody下的 标签,然后逐一排查寻找需要的5个标签即可。 心得 从这道题我掌握了如何使用正则化表达式匹配中文序列,当…

2025 年兰州凯文中学推荐:兰州凯文中学,二十载深耕民办教育 双师赋能全维育人 以低进高出成效书写成长答卷

行业背景 当前,我国普通高中教育进入高质量发展新阶段,教育部《普通高中学校办学质量评价指南》明确提出 “坚持以评促建、强化增值评价” 的导向,推动民办教育朝着特色化、优质化方向转型。兰州市积极推进民办中学…

详细介绍:Uvicorn - Python ASGI Web 服务器

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

OpenEuler 22.03 手动升级 OpenSSH 至 10.2p1 完整方案

本文档提供在 OpenEuler 22.03 LTS 系统上,将 OpenSSH 手动升级至 10.2p1 版本的完整、安全的操作方案。方案包含准备、升级、验证、回滚四个核心环节,并重点集成了对 SELinux 策略的自动化处理。 1、方案概述项目说…

配置GOPRIVATE引用私有仓库

目录核心配置步骤1. 设置GOPRIVATE环境变量2. 配置Git认证验证与依赖管理解决常见问题团队协作与CI/CD配置高级场景与总结配置 GOPRIVATE 环境变量是解决Go语言引用私有仓库依赖问题的关键核心配置步骤1. 设置GOPRIVAT…

2025年3d全息投影生产厂家权威推荐榜单:全息投影展厅/全息投影沙盘/全息投影源头厂家精选

随着数字视觉技术的快速发展,3D全息投影已从科幻概念走向成熟应用,成为展览展示、商业广告、教育医疗等领域的重要工具。据行业数据显示,2024年全球全息投影市场规模突破85亿元,预计2025年将增长至100亿元,年复合…

github克隆别人的项目并创建环境安装子模块 - 教程

github克隆别人的项目并创建环境安装子模块 - 教程2025-10-24 17:28 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

JMeter Plugin Manager Linux 插件安装命令行

wget -q -O "$JMETER_HOME/lib/ext/jmeter-plugins-manager-1.7.jar" \ https://repo1.maven.org/maven2/kg/apc/jmeter-plugins-manager/1.7/jmeter-plugins-manager-1.7.jar wget -q -O &qu…

用AI“抄底”双十一

“李佳琦一声‘美眉们’,我付定金的手在颤抖;双十一一堆‘隐藏券’,我算价格的脑在燃烧。”这大概是很多网购者的真实写照。 但今年,你的“赛博搭子”或许能让你从这场“数学竞赛”中解放出来。荣耀Magic8系列搭载…

整体理解pai0-具身智能-PyTorch einsum 完全教程-11 - jack

目录1. 基础概念2. 基础语法Level 1: 向量点积Level 2: 矩阵乘法Level 3: 批次矩阵乘法(Transformer中常用)4. PI0 代码中的实际例子例子1: QKV 投影 (gemma.py:183)例子2: 注意力计算 (gemma.py:217)例子3: 注意力输…