> 文章列表 > GameFramework 框架详解之 Network网络模块 工具链

GameFramework 框架详解之 Network网络模块 工具链

GameFramework 框架详解之 Network网络模块 工具链

前言

GameFramework(下面简称GF)Demo中,已经给我们提供了Network模块使用的protobuf使用的动态链接库protobuf-net.dll,但是GF并没有给我们提供protobuf相关的工具链,比如:

1.proto文件自动导出对应c#的Packet类和PacketHandler类
2.导出Packet类继承IReference以便使用引用池。
3.自动生成Packet类和PacketHandler的Id,且保持和服务器Id一一对应
4.自动生成Packet类的Clear函数,保证引用池对Packet类的回收和复用是安全的

以上这些都是我们做商业项目开发,必须使用到的工具链,有了工具,在实际项目的开发中,我们有协议相关的修改,只需要修改proto文件,然后一键导出并通知服务器同步更新即可继续我们的逻辑开发,效率非常高。否则如果我们手写pb类,那工作量简直不敢想象。

添加proto文件

我们的proto文件一般都是放到一个单独common仓库中,而不在我们的客户端中,这样的好处是,服务端和客户端可以共享这个common仓库,修改pb协议、excel配置什么的,直接通过更新common仓库即可。
我们的仓库结构如下:
client、server和common分别是一个单独的仓库
common仓库中有proto相关文件夹、excel配置表相关文件夹。

——project
————:client
————:server
————:common
——————:proto
——————:excel
——————&#x