• 安装
Protobuf Github地址:https://github.com/protocolbuffers/protobuf/tree/master/python
先检查,本地的python版本:python -V
再检查,本地Protobuf版本:protoc --version
找到 *\protobuf-master\python,*代表你解压的位置
在cdm中切换到该位置,只有使用 python setup.py install 命令安装所需的依赖,如果安装了多个版本的pytho,
需要用你在目标项目中使用的python项目版本的python来执行这个命令。
  • 写一个proto文件
syntax = "proto3";
package test;//这里使用文件名来做包名message MainPack
{ string playerName = 1;string playerPass = 2;string ip = 3;int32 id = 4;
}
  • 生成
放protoc的路径\protoc-3.19.4-win64\bin\protoc.exe --python_out=目标输出路径 test.proto在cmd中切换到 .proto 文件所在目录执行这条命令,执行完成后会在目标目录下生成 test_pb2.py

  • 使用
from protobuf import test_pb2 as DGP
mainpack = DGP.MainPack()
mainpack.playerName = "MOYV"
mainpack.playerPass = "test"
mainpack.ip = "192.168.1.1"
mainpack.id = 2
send_msg =mainpack.SerializeToString()
print(send_msg)# b'\n\x04MOYV\x12\x04test\x1a\x0b192.168.1.1 \x02'

附上在C#中的解析

/// <summary>
/// 接收到的消息长度
/// </summary>
/// <param name="length"></param>
public void ReadBuffer(int length)
{MainPack pack = (MainPack)MainPack.Descriptor.Parser.ParseFrom(buffer, 0, length);Debug.LogError(pack.Ip);
}

QQ交流群(我不是群主):391584244

【B站弹幕游戏开发笔记02】Win10系统下给Python项目导入Protobuf相关推荐

  1. 【B站弹幕游戏开发笔记01】Win10系统下给Unity项目导入Protobuf

    Protobuf Github地址:https://github.com/protocolbuffers/protobuf 类库创建项目 使用vs2019 使用NuGet导入Google.Protob ...

  2. uc收藏导入html,win10系统下UC浏览器如何导入其他浏览器的收藏夹

    UC浏览器的功能非常强大,比如它能够帮助我们找到电脑上安装的其他浏览器收藏夹.那么,如果想要在UC浏览器中导入其他浏览器收藏夹的话,具体该怎么操作呢?接下来,小编就以windows10系统为例,给大家 ...

  3. win10系统下多python版本部署

    说明:win10,已安装有python3.5.2,为使用新浪云应用(SAE)支持微信公众号后台开发(SAE的python运行环境使用的是2.7.9),需部署python2.7的版本以便本地编辑调试. ...

  4. 利用Python获取国内某天从某地到某地的所有航班;附在win10系统下安装Python第三方包的方式

    这段代码需要用到第三方包,有一些包部分版本有内置,win10安装第三方包的方式就是 1,打开设置->系统->关于->高级系统设置(在右侧的蓝字里)->环境变量->新建 2 ...

  5. win10系统下nodejs安装及环境配置

    win10系统下nodejs安装及环境配置 一.下载对应的nodejs安装包 1.官网地址:https://nodejs.org/en/ (可以下载旧版本:打开 https://nodejs.org/ ...

  6. 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论

    看到在留言中很多朋友提到不太清楚DirectX与游戏引擎的区别的问题,在这里浅墨就专门把自己对游戏引擎的一些理解写成一篇文章,作为我们<Visual C++游戏开发>专栏的游戏引擎导论,也 ...

  7. 游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8250057 作者:毛星云(浅墨 ...

  8. [置顶]       【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云    邮箱: h ...

  9. 【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/7318264 作者:毛星云(浅墨)  ...

  10. 从零开始游戏开发笔记(0):前期准备

    从零开始游戏开发笔记(0):前期准备(持续更新中) 一.开发软件 1.1 游戏引擎 1.2 美工软件 1.3 音乐软件 1.4 插件 二.教程.素材 1.1 学习教程 1.2 素材网站 三.其他技能 ...

最新文章

  1. 兼容超大图片的处理_动态图适用性调研与兼容性方案
  2. 富文本编辑器 java_Java开发之富文本编辑器TinyMCE
  3. 洛谷 P1273 【有线电视网】
  4. three.js glb 多个_25万的预算,奔驰GLB、宝马X1、奥迪Q3该怎么选
  5. linux驱动大小,为什么在Linux字符驱动程序读取调用中大小总是= 4096?
  6. Elasticsearch的倒排索引是什么?
  7. 【转】Android 驱动开发系列四
  8. 安卓网络操作全解:发起请求,解析响应
  9. Leetcode796.Rotate String旋转字符串
  10. 《深入理解Java虚拟机》读书笔记二
  11. android color属性黑色,android – 未找到样式属性attr / colorSecondary
  12. 我们为什么要使用NodeJS
  13. 如何下载sonar?
  14. 心电信号越界怎么回事_心电信号基础
  15. Linux关闭桌面进程,Centos进入桌面和退出桌面的方法
  16. matlab 生成伽罗华域中元素代码
  17. 【Google】“共码未来“—2022谷歌开发者大会参会记录
  18. 服务器显示屏 超出工作频率范围,WIN7电脑显示器超出工作频率范围的处理方法...
  19. node.js 模块的安装卸载与导入机制
  20. 后AlphaFold时代的蛋白质结构预测

热门文章

  1. 编辑表格用什么软件比较好?最好用的都在这了!
  2. [CDOJ 5] Diligent Boys Don’t Love [动态规划]
  3. linux 模拟误码率,基于System View的比特误码率测试的仿真研究
  4. 怎样快速将方形图片剪裁成椭圆形?分享大家一个小妙招
  5. CSS峰会圆桌论道丨共享产业数字化升级中的安全探索
  6. STM32 控制蜂鸣器播放音乐的原理和实例
  7. 最全的熬粥方法Word计算机考试怎么做,各种粥的做法大全Word文档.doc
  8. 常见几种校验方法(CS和校验、CRC16、CRC32、BCC异或校验)
  9. TC397 MCMCAN
  10. vue引入阿里巴巴矢量图库图标