欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-07 16:38:01
通常,所有的玩家的操作都会经过玩家进程去处理。那么当玩家的操作很多的时候 该怎么去设计划分呢?(比如你有任务模块、充值模块、不同玩法模块的时候)。 在以前的项目中,大家是这么做的,以数字编码模块, 比如 handle(1xxxxx) 处理登录 handle(2XXXX)处理任务等等。 然后1xxxx ......

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

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

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

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

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

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

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

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

继而也就不好测试。

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

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

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

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

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

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

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

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