KBEngine源码剖析1——角色账号登录和管理

文章目录
写在前面
登录时序图
流程分析
胡言乱语
写在前面
这个系列的博客,主要记录自己看CBE(原名KBE)源码的一些阅读笔记和心得,个人在看源码前比较喜欢先那那套源码做出个有可见性效果的产品demo来,然后根据demo在逐渐深入源码,所以在此之前先做了个联机版坦克大战,想先看看CBE怎么做游戏服务器的具体业务功能的,可以先瞅瞅之前的那三篇博客。
基于ComblockEngine+Unity的联机版坦克大战(一)
基于ComblockEngine+Unity的联机版坦克大战(二)
基于ComblockEngine+Unity的联机版坦克大战(三)

我主要是为了看源码,实现,所以后续的博客,我应该都主要写自己的源码阅读情况了~


登录时序图
先贴上一张新账号登录的时序图。

流程分析
一次登陆请求,从客户端发起,到服务器响应,涉及到至少5个进程间的交互通信。

Client最先向Loginapp发起登录请求
具体代码参见Loginapp::login
Loginapp会对账号名、消息包体数据做基本的合法性验证。
由于在之后的流程中需要dbmgr来完成角色数据从db的读取,以及baseappmgr和baseapp的响应,所以,在此,必须保证dbmgr和baseappmgr进程已经启动完毕。
对于这些进程的状态数据,CBE都是由Components这个单例类来维护。

Components::ComponentInfos* baseappmgrinfos = Components::getSingleton().getBaseappmgr();
if(baseappmgrinfos == NULL || baseappmgrinfos->pChannel == NULL || baseappmgrinfos->cid == 0)
{
    datas = "";
    _loginFailed(pChannel, loginName, SERVER_ERR_SRV_NO_READY, datas, true);
    s.done();
    return;
}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java KBEngine是一种基于Java编程语言的开发框架,主要用于创建和开发大型在线游戏。 Java KBEngine提供了游戏服务器的基础架构和开发工具,使开发人员可以更快速地构建和部署游戏服务器。它采用了一种实体组件模型来管理游戏中的各个实体,例如玩家、NPC和物品等。开发人员可以通过定义实体和组件来创建游戏中的不同角色和物体,并通过编写脚本来为这些实体添加行为和逻辑。 Java KBEngine还提供了强大的事件系统和网络通信功能,使开发人员可以轻松实现多人游戏功能,例如实时对战和在线交互等。它支持多线程、分布式和负载平衡等高性能特性,确保游戏服务器可以处理大量并发用户的请求。 Java KBEngine还拥有丰富的开发工具和文档,包括集成开发环境、调试器和日志系统等,帮助开发人员进行开发、测试和调试。它提供了灵活的扩展机制,允许开发人员根据自己的需求进行定制和扩展。 总而言之,Java KBEngine是一款功能强大、易于使用的游戏服务器框架,它提供了丰富的功能和工具,帮助开发人员快速构建高性能的大型在线游戏。无论是初学者还是有经验的开发人员,都可以通过Java KBEngine实现自己的游戏创意,并提供优秀的游戏体验。 ### 回答2: Java kbengine 是一种基于Java语言开发的游戏服务器引擎。它的设计目标是为开发在线多人游戏提供稳定、高性能的服务器端解决方案。 Java kbengine 具有以下特点: 1. 高性能:Java kbengine 使用多线程和事件驱动的方式来处理游戏逻辑,能够支持大量并发连接和高负载的游戏场景。 2. 可扩展性:Java kbengine 提供了灵活的模块化架构,开发者可以根据自己的需求进行定制开发。它支持动态加载和热更新,可以方便地添加新功能和修复bug。 3. 跨平台:Java kbengine 基于Java虚拟机(JVM)平台开发,可以很好地运行在不同的操作系统上,如Windows、Linux和Mac OS等。 4. 支持多种网络通信协议:Java kbengine 支持TCP和UDP等多种网络通信协议,可以方便地与客户端进行通信,并提供了可靠的网络连接和数据传输机制。 5. 提供丰富的功能:Java kbengine 提供了多种游戏开发常用的功能模块,如实体管理、数据库访问、权限管理、事件系统等,开发者可以快速构建复杂的游戏逻辑。 总之,Java kbengine 是一款功能强大、高性能、可扩展的游戏服务器引擎,适用于开发各类在线多人游戏。它能够帮助开发者快速构建稳定、高效的游戏服务器,为玩家提供更好的游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值