C++ 游戏服务端代码分层
为什么要进行代码分层
在正在大型低游戏服务端开发过程中,为了提高代码的可读性,以及降低维护成本,是必须要对代码进行分层的。
如何进行代码分层
从底层至上层建筑,核心部分分为三层,分别为:网络IO模型层、消息处理层、逻辑处理层。
其中,解释如下:
层次 | 功能 |
---|---|
逻辑处理层 | 协议分发:即根据自定义协议将客户端请求分发到不同的业务模块处理。 数据展开:即序列化和反序列化的过程。 业务处理:即登录、注册等具体的业务功能。 |
消息处理层 | 具体可参考链接: https://ufgnix0802.blog.csdn.net/article/details/126167819 https://ufgnix0802.blog.csdn.net/article/details/126714145 |
网络IO模型层 | 该层绝大多数功能如果我们使用libuv、libevent、libev等服务端框架,几乎已经帮我们完成。也可以我们自己搭建网络内核,Windows下可以使用select、IOCP等IO内核。 |