一步一步开发Game服务器(一)

什么是服务器?对于很多人来说也许只是简单成为在服务器端运行的程序的确如此,服务器通常意义就是说在服务器端运行的程序而已。那么我们怎么理解和分析游戏服务器哪?

传统意义上来说,程序运行后,正常流程,

启动 -> 加载必要数据 -> 分析必要数据 -> 接受连接 -> 登陆系统 -> 交换数据 -> 退出登陆。

这样单线程服务器的思路就算完成。有经验的同学都可以看得出这是最简单的程序运行流程,有一个最主要的问题就是这是一个单线程的流程,承载量自然就不大,吞吐量也就自然下降了。

如果改为多线程怎么办呢?改成多线程后又怎么保证数据的完整的性,准确性呢?这个问题我会在后面的文字里面一一讲解。

通常在游戏服务器设计中,分为单服务器和组服务器,

单服务器(包括登陆模块,逻辑模块,数据交换模块);

组服务器则为,登陆服务器,逻辑服务器,和数据交换服务器。这里又可以分为

登陆服务器1 -》 逻辑服务器1 -》 数据交换服务器1,

登陆服务器2 -》 逻辑服务器2 -》 数据交换服务器2,

登陆服务器 N -》逻辑服务器N -》 数据交换服务器N,

通常情况数据交换服务器可以提供一组登陆和逻辑服务器使用。

这里的数据交换可以理解成数据缓存模块,数据更新模块,数据存储模块。是程序数据和数据库存储数据交换用的,

一般情况下逻辑模块的设计都是很复杂的东西。后面的文章我一步一步去剖析它。

跪求保留标示符
/**
 * @author: Troy.Chen(失足程序员, 15388152619)
 * @version: 2021-07-20 10:55
 **/

C#版本代码 vs2010及以上工具可以

java 开发工具是netbeans 和 idea 版本,只有项目导入如果出现异常,请根据自己的工具调整


提供免费仓储。
最新的代码地址:↓↓↓
https://gitee.com/wuxindao

觉得我还可以,打赏一下吧,你的肯定是我努力的最大动力
    
原文地址:https://www.cnblogs.com/shizuchengxuyuan/p/4412079.html