游戏服务器——登陆服
一、中心服介绍
用户登录校验,校验通过生成秘钥之后其他的登录都是通过此处得到的秘钥进行登录。
二、服务器启动流程
1、启动准备
- 初始化网络库
- 监听事件注册
2、开始启动
- 创建日志、创建定时器
- 创建网络监听服务并启动监听
- 挂接逻辑事件(用户线程读取网络数据)
- 创建DB服代理服务(连DB服并进行消息交互)
- 创建中心服代理服务(连中心服务器并进行消息交互)
- 创建守护中心(与守护中心服连接,用于服务器拉起)
3、启动流程图
三、登陆服与其他服务器之间消息交互
- DBServer启动
- 中心服启动并和DBServer连接
- 网关服启动并和中心服连接
- 登陆服启动并分别和DBServer、中心服连接,和中心服连接成功之后将自己服务器数据发送给中心
- 中心服收到登陆服发送的服务器数据,将数据广播给已经连接的客户端(网关服、登陆服)
- 客户端连接网关服
- 客户端发送消息给登陆服(经网关服转发)
- 网关服收到客户端消息,并将消息转发给登陆服。如果网关服和登陆服为连接,先连接再发送
- 登陆服通过网关服将消息转发给客户端
流程图如下:
四、类图
可以将登录服划分为四个模块。
4.1 DB服客户端代理
用于和DB服消息交互,详情参考《中心服——4.2 DB服客户端代理》,玩家登录需要和数据库中秘钥进行验证。
4.2 中心服客户端代理
用于和中心服消息交互,详情参考《网关服——6.1 中心服客户端代理》,登录服中的中心服客户端代理,只是用于登录中心成功之后发生服务器消息给中心服。(网关服可以根据登录服服务器消息和登录服进行连接。)
4.3 网关服代理
用于和网关服之间消息交互,当有玩家需要通过网关服将消息转发给登录服,网关服代理会创建一个CLoginUser对象用于和玩家进行交互,详情参考《网关服代理》。
4.4 创建连接对象——CLoginUser
玩家通过网关服和网关服代理登录到登录服,网关服代理会通知网关服创建一个CLoginUser对象用于接收网关服转发的玩家消息,并处理相应消息,主要是登录验证。
游戏服务器——登陆服相关推荐
- 游戏服务器——网关服
一.网关服介绍 客户端与服务器之间消息交互通过网关服进行转发,客户端与网关服通过TCP进行连接,网关服将客户端消息发送对应服务器(登陆服.广场服.游戏服),对应服务器收到消息之后进行处理,处理完再通过 ...
- 游戏服务器——广场服
一.广场服介绍 用户的数据服务,用户的金币消耗,道具购买等操作都是通过本服务进行. 二.服务器启动流程 1.启动准备 初始化网络库 监听事件注册 2.开始启动 创建日志 创建定时器 创建配置中心 用户 ...
- 游戏服务器停服维护公告,停服更新维护公告
原标题:停服更新维护公告 亲爱的主公: 为了带给您更好的游戏体验,<三国群英传-霸王之业>将于02月27日07:00-08:30进行服务器停服更新,如未能按时完成,则开服时间将会顺延:维护 ...
- 简单游戏服务器客服端搭建
客户机: Login()// 登入模块 { 初始化游戏数据; 获取用户输入的用户和密码; 与服务器创建网络连接; 发送至服务器进行用户验证; ... 等待服务器确认消息; ... 获得服务器反馈的登入 ...
- 穿越火线游戏服务器停服维护中,cf停机维护
dnf5月24日更新到几点 dnf5月24日停机维护公告 大家好,DNF5月24日将会停机更新,上架新内容新活动.这次的维护更新要到几点呢?接下来小编来告诉大家吧. 绝地求生维护更新公告 绝地求生5月 ...
- 分布式游戏服务器全服匹配玩法设计
背景 如今的社交类游戏,大多采用分布式服务器架构,也就是说所有区服的数据存储在一个集群中,玩家可以无阻碍交互,一同游玩. 再谈游戏中的匹配,多数匹配玩法都属于在线匹配,属于非常实时的一种匹配,匹配节点 ...
- 游戏服务器停服维护公告,《黑潮之上》2020年12月22日全服务器停服维护公告
在黑潮之上手游中2020年12月22日更新了哪些有趣的内容呢?不清楚本次维护更新内容如何的话,下面就来看一下吧! 各位接触者 为了提供良好的游戏体验,保证服务器稳定运行,<黑潮之上>将于2 ...
- 我的世界小游戏服务器开服制作教程,《我的世界》服务器制作技巧 简单架设开服...
导 读 我的世界三种常见服务器简单架设 快速开服.目前大家见过最多的服务器类型可能只有三种,分别是CraftBukkit.Spigot.MCPC Plus三种.其实对于稍微了解服务器的玩家而言,想要实 ...
- 整理的游戏服务器架构资料
文章一:猜想的QQ游戏服务器架构 QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ ...
最新文章
- Reactjs 入门基础(一)
- Drop Down Menu
- curl抓取页面是乱码 php_php curl 获取网页内容 中文乱码
- 使用jieba 提取 关键词
- 关闭本机的代理服务(Proxy)
- python绘图turtle小猪_turtle作图:用turtle画一个小猪佩奇(详解!)
- STM32上使用JSON
- mysql clr_SQLCLR Tips: 配置数据库使其支持SQLCLR
- [Lydsy1805月赛]对称数 BZOJ5361
- oracle 自动执行存储过程,oracle 自动执行存储过程
- nRF51822 SPI 驱动 ADXL362
- 物联网行业的现状与思考
- 凸多边形、凹多边形、凸包算法
- C# Winform右下角弹窗方式
- 吃西瓜—先磨刀之概率论
- java通过framer生成word_DSO Framer Control Object 操作word文件
- 回文序列-2017网易校园招聘
- seo建设者_网站优化之SEO开发标准
- 2018互联网月饼哪家强?阿里有情怀、腾讯最实在、咪咕最暖萌、联想最简单粗暴......
- 一文读懂md5,md5有什么用,什么是md5加盐