游戏服务器端分层构架

游戏的服务器端分成5个部分

  1. Server
    用来进行创建TCP的socket,然后监听客户端的连接
  2. ConnHelper
    用来连接数据库的工具类
  3. Controller
    处理客户端请求,客户端请求发送到Server,Server调用相应的Controller进行处理
  4. Model
    与数据库里的表相对应,一个Model类对应一个数据库表
  5. DAO
    用来操作数据库

交互的流程

  1. 当客户端访问Server , server会去跟客户端建立连接,然后处理后续的客户端请求。
  2. Server端接收到请求之后,交给Controller进行处理。 不同的controller控制不同的请求,Server只有一个,它只需要一个的Server端接收客户端的连接,以及处理客户端请求。
  3. Control处理请求的某些情况下需要与数据库进行交互,即需要DAO层来进行交互。
  4. DAO要操作数据库,需要与两类打交道,一个是model类(一个model类对应一个数据库表),还有connHelper类。

交互优化

客户端跟server请求连接的时候,Server创建一个或多个client,使得一个客户端对应一个client每一个client用来维护和某一个客户端的连接,然后进行收发消息,并且后续请求都通过client进行处理。如果所有的客户端都共用一个client,那么查询起来会比较慢。
同理,client通过connHelper创建一个与数据库的连接,让client和数据库连接保持一对一关系,当client不需要连接时,把client和数据库的连接都销毁掉。

猜你喜欢

转载自blog.csdn.net/wankcn/article/details/107086284