【极】P2 项目设计的流程/谷歌 protocolbuf


瞎BB

弄了个模板,现阶段就这套模板吧~


项目设计的流程

一、设计的流程
  • 明确设计目标
  • 充分考虑设计方案
  • 可行性评估
  • 选择最优方案
    在这里插入图片描述
二、设计的内容
  • 游戏玩法设计
  • 整体架构设计及方案选择
  • 客户端框架设计
  • 服务器框架设计
  • 工作流程设计
设计的阶段
  • 整体框架设计
  • 系统方案设计
  • 模块详细设计
  • 迭代优化

项目设计流程总结

这节课比较注重理论,主要是了解一下设计的大概框架,以后写项目的时候尽量也往这方面靠,后续开发的风险也会降低。


谷歌protocolbuf

前言

Protocol Buffer是Google提供的一种数据序列化协.
Google官方对protobuf的定义:Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

因此,一个MMO项目是强交互的类型,所以一个完善,简单易上手的的协议管理势在必行

协议基类文件

  • message.proto
    在这里插入图片描述

    • 根协议
      在这里插入图片描述

    这里可以看出,协议分为了两部分,一个请求,一个响应。
    客户端向服务端发送请求时候 客户端只需要填充请求 “1” Response为空
    服务器在处理完客户端的请求后,响应回来时填充 Response“2” Request为空
    这就代表一个网络协议 客户端填充上一个 服务端填充下一个
    因此一个协议就可以让客户端和福袋在同一套代码适用 也让客户端和服务端的代码保持一致

    • 请求的协议结构
      在这里插入图片描述

    看上述代码可以知道,请求的结构模板,实例中定义了 注册协议,登录协议,创建角色协议,游戏进入协议,游戏离开协议等。
    这么一排码下来,发请求的时候给想发请求的协议赋值就行,其他协议的值为空。

    • 响应的协议结构
      在这里插入图片描述

    响应是必须要和请求一 一对应的,但于请求不同,响应可以批量响应,不拘泥于一次请求只响应一种。
    因此可以每次请求发一种协议,响应一次
    亦可以每次请求发一种协议,响应所有
    因此为了性能,假设有几个消息需要在最短时间得到服务器的响应,则合并到一个消息里打包上去,一次性发完
    服务器再回复的时候,为了性能,假设客户端同事请求了十个小协议下来,服务器便可以一并打包所需的响应合并到一个消息包发上去

协议的生成

在message.proto 添加或减少协议时,需要运行protocolbuf命令程式
在这里插入图片描述

运行完毕后 会在服务端自动生成C#代码

在这里插入图片描述

总结

技术是在进步的,能坐着绝不站着,能躺着绝不坐着!
在偷懒的途中把功能实现了,这就是程序员

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值