Quantcast
Channel: IT社区推荐资讯 - ITIndex.net
Viewing all articles
Browse latest Browse all 11804

java游戏开发入门2_基于netty+protobuf的游戏框架

$
0
0
/**
刚开始学习游戏开发时想找一个基于netty的游戏demo十分困难,工作一段时间后了解框架后将其分享出来;
该框架是从别人框架移植修改完善而来,不是我一个人写,算是借花献佛;
实际业务开发比此框架要复杂得多,去繁从简主在体现核心思想;
这是游戏开发入门的第2篇,如果有不完善的地方请多多指导.
*/
 框架示意图如下,源代码参看: github:

  1.  客户端连接进来,由acceptor负责接入验证,创立channel后再转发给从线程池(workerReactor);
  2. worker Reactor 按照指定协议解码,构件出msgEntity对象,触发对应事件,在根据不同命令码(cmdCode)传递给对应的保存队列(blockqueue)
  3. 每个blockQueue负责执行的线程异步取出msgEntity,通过cmdCode获得解码protobuf的GeneralMessage,解码出请求数据;
  4. 业务逻辑处理后,按照相反的路径,先构件protobuf的消息对象,在编码成二进制,计算出长度,加上命令码分别写入byteBuf中,传递给客户端.完成一个业务的处理操作.

实际业务中添加了spring以及mybatis持久化,redis来处理缓存,这里暂时略去,可以根据自身需求慢慢添加;

protobuf配置 参看链接

解码操作可以设计为自动完成,参看 protobuf解码

 

 

2.


已有 0人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐




Viewing all articles
Browse latest Browse all 11804

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>