加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

游戏服务器开发如何组织业务逻辑的处理结构?

发布时间:2018-12-31 21:42:39 所属栏目:业界 来源:游戏技术网
导读:游戏处事器就是对游戏数据的处理赏罚及逻辑验证,一样平常的步调就是: 1,吸取客户端哀求的数据 2,按照哀求的数据找出是哪个营业的哀求 3,处理赏罚营业的哀求 4,更新被修改的数据。 5,返回数据给客户端。 以是凭证以上的步调,我们此刻只体谅营业逻辑的处理赏罚流程,

游戏处事器就是对游戏数据的处理赏罚及逻辑验证,一样平常的步调就是:

1,吸取客户端哀求的数据

2,按照哀求的数据找出是哪个营业的哀求

3,处理赏罚营业的哀求

4,更新被修改的数据。

5,返回数据给客户端。

以是凭证以上的步调,我们此刻只体谅营业逻辑的处理赏罚流程,这里配置一个前题,就是处事器的数据都是在内存中的。内存中的数据与数据库的同步由底层的其余体系处理赏罚。在内存中,我们建设并缓存一个工具Player,它包罗全部模块的数据,好比背包,小我私人市肆(Shop),手艺(Skill),武将,副本 等等,Player只是数据类,内里不该该包罗任何逻辑要领,全部的逻辑要领操纵应该在Manager中处理赏罚。好比ShopManager。

游戏处事器开拓怎样组织营业逻辑的处理赏罚布局?

游戏处事器开拓怎样组织营业逻辑的处理赏罚布局?

营业处理赏罚流程

好比我们行使netty做为收集层的通讯框架,在Channel的Handler中收到客户端哀求的数据,按照哀求的动静号,挪用处理赏罚营业的Handler。在营业的Handler中验证参数的正当性,然后再挪用营业逻辑的Service层,Service层认真的营业流程的处理赏罚,好比购置商品,第一步判定商品是否已卖完,第二步判定剩余数目是否足够,第三步判定是否已购置过,第四步判定钱是否足够,第五步是付钱,第六步是发送购置得到的道具。这内里应该都是要领的挪用,而没有任何数据的处理赏罚,,数据的处理赏罚由第三层的Manager打点。Manager对应中声明一个参数Player,在建设Manager工具时传入,差异的模块数据之间交互都由Manager处理赏罚,Manager中的要领职责单一,只认真处理赏罚一件工作。每个用户的每个模块Manager工具各一个。用户之间不共享,这样可以镌汰参数的传入。这样越发利便面向工具的计划。利便对营业逻辑举办单位测试。

游戏处事器开拓怎样组织营业逻辑的处理赏罚布局?

Service层

每个用户的每个模块的Manager实例存储在当前用户营业逻辑处理赏罚的线程的LocalThread中的HashMap中,这样利便打点又停止行使锁了。行使一个ManagerFactory工具同一打点Manager工具的建设和获取。

游戏处事器开拓怎样组织营业逻辑的处理赏罚布局?

【编辑保举】

  1. 怎样优化Android异步哀求处事器数据?
  2. 你真的相识怎样将Nginx设置为Web处事器吗
  3. 酸爽!我用这套无人值守安装体系刹时搞定上百台处事器
  4. 处事器的 LinuxBoot:辞别 UEFI、拥抱开源
  5. 为什么说Kubernetes是新的应用处事器?
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读