项目的实现,咱们将其划分为三个大模块来进行:
- 数据管理模块:基于 MySQL 数据库进行用户数据的管理
- 前端界面模块:基于前端技术实现前端页面(注册、登录、游戏大厅、游戏房间)的动态控制以及与服务器的通信
- 业务处理模块:搭建 WebSocket 服务器与客户端进行通信,接收请求并进行业务处理
为什么说分为这三大块呢,下面画个图来大概描述一下整个客户端和服务器的通信过程:

而如果要实现这些功能,那么就需要对业务处理模块再次进行细分为多个模块来实现各个功能。
Ⅱ. 业务处理模块的子模块划分
- 网络通信模块:基于 websocketpp 库实现 Http & WebSocket 服务器的搭建,提供网络通信功能
- 会话管理模块:对客户端的连接进行 cookie & session 管理,实现 http 短连接时客户端身份识别功能
- 在线管理模块:对进入游戏大厅与游戏房间中用户进行管理,提供用户是否在线以及获取用户连接的功能
- 房间管理模块:为匹配成功的用户创建对战房间,提供实时的五子棋对战与聊天业务功能
- 用户匹配模块:根据天梯分数不同进行不同层次的玩家匹配,为匹配成功的玩家创建房间并加入房间
Ⅲ. 项目流程图
玩家角度流程图

服务器角度流程图
