欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2023-04-29

安装

Protobuf Github地址:https://github.com/protocolbuffers/protobuf/tree/master/python先检查,本地的python版本:python -V再检查,本地Protobuf版本:protoc --version找到 *protobuf-masterpython,*代表你解压的位置在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-win64binprotoc.exe --python_out=目标输出路径 test.proto在cmd中切换到 .proto 文件所在目录执行这条命令,执行完成后会在目标目录下生成 test_pb2.py

使用

from protobuf import test_pb2 as DGPmainpack = DGP.MainPack()mainpack.playerName = "MOYV"mainpack.playerPass = "test"mainpack.ip = "192.168.1.1"mainpack.id = 2send_msg =mainpack.SerializeToString()print(send_msg)# b'nx04MOYVx12x04testx1ax0b192.168.1.1 x02'

附上在C#中的解析

///

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

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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。