千家信息网

Unity3d中网络传输协议protobuf的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关Unity3d中网络传输协议protobuf的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Google Protocol Bu
千家信息网最后更新 2026年11月02日Unity3d中网络传输协议protobuf的示例分析

这篇文章将为大家详细讲解有关Unity3d中网络传输协议protobuf的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。

google protocol buffers的应用范围非常广泛,但对于unity3d开发者来说,protobuf的最大用处在于编写网络游戏时,可以用它来传输数据内容,例如网络游戏中,玩家登录操作,需要传输用户名account和密码password给服务器,服务器验证成功,发送给玩家一条数据(如int a或者enum a),玩家收到数据后,依据a的值来判断,a==1表示可以登录,a==0表示密码错误不可以登录,这个过程中客户端和服务器之间传输网络数据用的就是Protobuf。

如果你没有用过protobuf,下载demo,然后跟随本文实践一下,那么针对protobuf的简单使用应该是没问题的;如果你一直在用protobuf,但是一直是别人写好的,那么研究一下本文demo,可以让你了解protobuf在unity3d中的使用搭建。

demo的github地址:single010203/Unity-Network-Protobuf

下载完成后,解压得到如下图1-图2所示工程结构图:


图1 networktest工程结构图

图2 unity3d工程图

工程实现了网络游戏中,用户登录大厅到进入房间这么个过程,从用户登录->用户进入大厅-->用户进入房间,到用户退出房间-->用户退出大厅-->用户退出,一共6个操作,代表了客户端与服务器的6次消息传输。接下来,我们按照步骤把这个过程实践出来。

1编写.proto文件

打开图1中所示protoToCs文件夹,在此文件夹中新建EnterLiveHallMsg.proto文件,并输入如下图3所示内容:

EnterLiveHallReq代表用户发送登录请求数据结构;

EnterLiveHallEsp代表服务器返回的结果。

图3 编写.proto文件

文件夹中相关的proto文件都已经编写好了,当然你可以自定义随意编写几个也没问题。

2 生成.cs类

在protoToCs文件夹中找到批处理文件:protoToCs.bat,该工具调用protogen.exe工具,工具依据当前文件夹中的所有proto文件生成相应的.cs类文件。

双击"protoToCs.bat"文件,弹出命令行工具,执行完成后,刚才我们编写的EnterLiveHallMsg.proto文件旁边出现了EnterLiveHallMsg.cs文件,该文件是自动生成的,不可更改,这样我们就完成了cs类的自动生成操作。

图4 生成cs文件。

3 数据导入工程中

把刚才编写的EnterLiveHallMsg.proto和自动生成的EnterLiveHallMsg.cs拷贝到工程中,如图5所示。到这里我们就可以在工程中调用EnterLiveHallMsg.cs中的数据结构进行功能编写了。

图5工程中网络数据

4 如何使用生成的cs文件

该工程中功能层面最重要的三个类是SendPacket.cs/ReceivePacket.cs/StartLiveRoom.cs.

内部逻辑功能比较简单,仅仅实现了用户登录大厅,进入房间的一个客户单示例。

图6 登录大厅操作

关于"Unity3d中网络传输协议protobuf的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

文件 数据 用户 工程 登录 网络 结构 生成 传输 大厅 文件夹 服务器 服务 工具 房间 格式 存储 示例 代表 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技官网 亿策互联网科技 兼蜜互联网科技 天扬科技互联网广告 深圳卡尔迅互联网科技有限公司怎么样 互联网科技股午盘股票涨跌 欧洲十大科技互联网公司 南山科技园互联网公司有哪些 苏州五指互联网络科技有限 山东子淼互联网科技有限公司 北京市互联网新科技 张召忠谈中国互联网科技 易企秀互联网科技是做什么的 安徽零酒互联网科技有限公司 科技互联网公司两年变化 互联网科技的前景 数字科技和互联网金融哪个好 互联网科技大佬云集 华人运通互联网科技公司 科技发展第三阶段互联网时代 广州大一互联网络科技有限公司 中关村互联网科技集团 美国互联网保险保险科技 北京互联网科技公司 艾特科技互联网 北京禾田雨橡互联网科技 互联网 科技馆 宁夏科技产业互联网案例 2021互联网科技公司排名 四川互联网展示科技馆设计
0