【实战】Unity3d实战之Unity3d网络游戏实战篇(6):服务端框架的搭建

Unity3d实战之Unity3d网络游戏实战篇(6):服务端框架的搭建

学习书籍《Unity3d网络游戏实战》 罗培羽著 机械工业出版社
本文是作者在学习过程中遇到的认为值得记录的点,因此引用的代码等资源基本出资罗培羽老师的书籍
以下为个人的学习简记,与诸君共论 由于U3D的官方案例Tank Tutorial中对坦克的基本操作已经有了详尽的描述,因此本文着重于面板系统、服务端基本网络框架和客户端基本网络框架的搭建
如有疑问或者描述错误的地方,欢迎各位提出或修正,讨论交流是获取和巩固知识的重要途径之一!

 整个服务端框架分为3层:
【实战】Unity3d实战之Unity3d网络游戏实战篇(6):服务端框架的搭建_第1张图片
 底层:负责Client的监听、数据处理、协议构建、数据库操作等。
 中间层:对客观世界事物的抽象,实现类对象的各种方法;
 逻辑层:实现游戏逻辑,根据接收到的不同协议实现不同的逻辑。

 服务端框架的目录结构如下:
 【实战】Unity3d实战之Unity3d网络游戏实战篇(6):服务端框架的搭建_第2张图片
 底层:
  ServNet:处理Server与各Client的连接以及数据接收;
  DataMgr:根据需求实现对数据库的各种操作;
  Protocol:编写协议实现Server与Client之间的有效通信;
 中间层:
  Player:对玩家的抽象,拥有玩家id、角色、下线等方法的实现;
  Conn:实现Server与Client之间的连接的管理,其作用与第四节描述的一致;
 逻辑层:
  HandleConnMsg:处理连接相关的事务,如心跳机制、用户登陆登出等;
  HandlePlayerMsg:处理玩家相关的事务,如位置同步、得分获取等;
  HandlePlayerEvent:处理玩家事件,某个时间发生时要处理的事情,如玩家登陆登出等;
  PlayerData:指定需要保存到数据库的角色属性,如金币、等级、胜负数等;
  PlayerTempData:指定玩家角色的临时属性,如是否在房间内、是否在战斗中、是否已准备等;

你可能感兴趣的:(实战集,Unity3d)