上篇文章我们讲解了攻击消息处理存在的问题和解决问题的方式:消息处理串行化,那这篇文章我们来使用这一思路修改一下我们的代码核心思路:把所有类型的消息处理放在同一个线程中执行串行...
上篇文章我们讲解了攻击消息处理存在的问题和解决问题的方式:消息处理串行化,那这篇文章我们来使用这一思路修改一下我们的代码核心思路:把所有类型的消息处理放在同一个线程中执行串行...
上一篇文章的最后我们提到了攻击消息的处理还是有些问题,其实应该还是比较严重的问题,我们来演示一下。在攻击处理器:UserAttkCmdHandler中添加一条日志打印并重启服...
之前为了测试重构的代码添加了攻击消息,现在再来重新设计一下攻击消息:UserAttkCmdHandler,使代码简洁一下,并且添加处理死亡消息,最后对攻击消息的一个小BUG做...
本章我们需要重新设计移动消息,首先观察一下之前移动可能存在的问题 移动消息存在的问题: 如果现在有两个角色1和2,当角色1从A移动到B时,角色2登录,是不会显示角色1的移动效...
同上一篇文章类似,对于GameMsgRecognizer我们也需要用同样的方式重构,直接上代码 重构GameMsgRecognizer 1.修改GameMsgRecogniz...
之前两篇文章我们使用工厂的设计模式重构了我们的代码,极大的简化了我们的业务代码,但是我们会发现,当我们增加一个消息种类时,我们需要添加新的handler类,并且还需要修改初始...
上一篇文章,我们重构了游戏的消息处理器,现在我们为了保持代码的整洁,重构编码器和解码器,大概思路与消息处理器的重构思路类似 消息编解码器的重构 1.增加消息识别器class:...
一、将用户字典_userMap和信道组_channelGroup进行简单封装 1.封装用户字典需要注意的是:在hashMap在并发环境下可能出现的问题,这里使用Concurr...
上一篇文章我们使用Netty搭建了最简单的游戏服务器,并且接收到了前端的信息,那这些信息如何处理呢,本篇文章我们会使用ProtoBuf来处理这些信息。 消息协议 与使用htt...