Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3547803
  • 博文数量: 1805
  • 博客积分: 135
  • 博客等级: 入伍新兵
  • 技术积分: 3345
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 20:01
文章分类

全部博文(1805)

文章存档

2017年(19)

2016年(80)

2015年(341)

2014年(438)

2013年(349)

2012年(332)

2011年(248)

分类: C/C++

2013-03-31 15:06:33

原文地址:游戏服务登录流程 作者:moon_rock

----------------------------------------------------------------------------------------------------------------------------------------------------------------------
服务器体系结构图:




----------------------------------------------------------------------------------------------------------------------------------------------------------------------
客户端交互LoginServer获取Gateway连接信息的时序:


Client                                    LoginServer                            CenterServer                           GatewayServer
    |            (UserID, ServerID)           |                                       |                                        |
    | ----------------LoginReq--------------->|                                       |                                        |
    |                                        Auth              (UserID)               |                                        |
    |                                         | -------------UserLoginReq-----------> |                                        |
    |                                         |                                   Get Best Gateway                             |
    |                                         |                                       |                                        |
    |                                         |                                   CreateUser                                   |
    |                                         |                                       |                                        |
    |                                         |                                   SetUserState(WantLogin)                      |
    |                                         |                                       |                                        |
    |                                         |                                   Gen CryptoCode                               |
    |                                         |                                       |                                        |
    |                                         |       (Gateway Info, CryptoCode)      |                                        |
    |                                         |<-------------UserLoginAck-------------|                                        |
    |       (Gateway Info, CryptoCode)        |                                       |           (UserID, CryptoCode)         |
    |<---------------LoginAck-----------------|                                       |-------------UserWantLoginNtf---------->|
    |                                         |                                       |                                        |
    |                                         |                                       |                                   Create ClientObject(UserID, CryptoCode)
    |                                         |                                       |                                        |
    |                                         |                                       |                                   Waiting For Client(UserId, CryptoCode) Connect
    |                                         |                                       |                                        |




----------------------------------------------------------------------------------------------------------------------------------------------------------------------
客户端连接到Gateway后验证的时序:(网关结点要做到尽可能少的分配服务器资源)


Client                                  GatewayServer
    |          (UserID, CryptoCode)          |
    |---------------ConnectReq-------------->|
    |                                      On Accept
    |                                        |
    |                                      Auth(UserID, CryptoCode)
    |                                        |
    | <-------------ConnectAck---------------|
    |                                        |
Connect Success                              |
    |                                        |




----------------------------------------------------------------------------------------------------------------------------------------------------------------------
客户端真正登录游戏的时序:


Client                                   CenterServer                            GameServer                              DBServer
    |                                         |                                      |                                      |
    |--------------------------------------------------------EnterGameReq-------------------------------------------------> |
    |                                         |                                      |                                      |
    |                                         |                                      |                                   Register[UserID, GatewayID]
    |                                         |                                      |                                      |
    |                                         |                                      |                                   User Data Exist?(LRU)
    |                                         |                                      |                                      |
    | <------------------------------------------------------EnterGameAck-------------------------------------------------->|
    |                                         |                                      |                                      |


阅读(521) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~