用户登录
用户注册

分享至

简单Elixir游戏服设计- PlayerServer 怎么设计?

  • 作者: 老湿kfG
  • 来源: 51数据库
  • 2021-07-05

通常,所有的玩家的操作都会经过玩家进程去处理。那么当玩家的操作很多的时候

该怎么去设计划分呢?(比如你有任务模块、充值模块、不同玩法模块的时候)。

在以前的项目中,大家是这么做的,以数字编码模块,

比如 handle(1xxxxx) 处理登录  handle(2XXXX)处理任务等等。

然后1xxxx 一个文件, 2xxxx 另一个文件。

调用就经过一张路由表去做。

不是说这种方式不好,而是觉得这种方式偷懒省去了api。

另外这种方式通常把socket交由玩家进程去处理了, 流的编解码也放到玩家进程去了,导致代码不清晰,

继而也就不好测试。

====================================================

我以前会用exactor 去简化api和处理代码,会用点元编程去引进另外文件的处理代码。

但现在觉得没必要,因为自己用少量的代码也可以做到想要的效果,还更清晰。

提交的只是分离PlayerServer的调用到不同文件的演示。

具体看代码吧,也许有更好的做法,而我不知道。

============================================

刚刚忘记去掉use 用法了,因为用了apply 后就不需要了,

再导入处理模块了。用了反而会造成冲突。

软件
前端设计
程序设计
Java相关