一种MMO服务器框架

以下是一种单进程多线程的服务器框架,LoginServer是一个登陆线程,处理用户登陆和角色获取。登陆成功后会连接ChatServer和LogicServer,聊天服务器线程处理所有聊天信息的转发,逻辑服务器线程处理脚本执行,日志、战斗以及其他相关逻辑,逻辑服务器线程可以多开,可以将用户平衡到各个逻辑Server。所有的ServerProcess都会连接到一个管理服务器上,以方便管理员对服务器进行管理。

为什么不设计成多进程的?原因如下:1、多进程设计更复杂,要考虑更多通信细节。2、现在的服务器配置都非常高,完全可以将整个服务器配置到一台物理机上,甚至还可以在一台物理机器上开多个服。3、线程切换比进程切换要快。

玩家上线逻辑:首先连接登陆服务器进行帐号验证,验证成功之后获得一个UID【这个UID可以是基于用户名和密码生成的,再加入一些随机性,使得每次登陆都可以不一样】,拿着这个UID去获得该服中的角色,当然也可以创建角色,选完角色之后,继续用该UID去连接聊天服务器和逻辑服务器,上线完成。用户下线后该UID自动失效。

猜你喜欢

转载自blog.csdn.net/janker5/article/details/84296929
今日推荐