前面介绍了kbengine的大体框架结构及组成部分,接下来我们对引擎进行化整为零的分析,我们先介绍一下loginapp的作用及其使用方法。
1.客户端登录校验
loginapp_interface.h
// 用户登录服务器
LOGINAPP_MESSAGE_EXPOSED(login)
LOGINAPP_MESSAGE_DECLARE_STREAM(login,NETWORK_VARIABLE_MESSAGE)
loginapp.h
//用户登录校验
void Loginapp::login(Network::Channel* pChannel, MemoryStream& s)
2.校验完成服务端下发baseapp地址
loginapp.h
void Loginapp::onLoginAccountQueryResultFromDbmgr(Network::Channel* pChannel, MemoryStream& s)
3.客户端注册
loginapp_interface.h
// 请求创建账号
LOGINAPP_MESSAGE_EXPOSED(reqCreateAccount)
LOGINAPP_MESSAGE_DECLARE_STREAM(reqCreateAccount,NETWORK_VARIABLE_MESSAGE)
loginapp.h
void Loginapp::reqCreateAccount(Network::Channel* pChannel, MemoryStream& s)
4.注册返回
void Loginapp::onReqCreateAccountResult(Network::Channel* pChannel, MemoryStream& s)
5.在xml中配置自动创建不存在账号
<dbmgr>
<account_system>
<!-- 账号注册相关
(Account registration)
-->
<account_registration>
<!-- 是否开放注册
(Whether open registration)
-->
<enable> true </enable>
<!-- 登录合法时游戏数据库找不到游戏账号则自动创建
(When logged in, the game database can not find the game account is automatically created)
-->
<loginAutoCreate> true </loginAutoCreate>
</account_registration>
</account_system>
</dbmgr>