![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
KBEngine
无痕Miss
这个作者很懒,什么都没留下…
展开
-
<伍>kbengine源码剖析之线程池
线程池的代码目录是在lib->thread中1.变量定义 bool isInitialize_; // 线程池是否被初始化过 //使用stl队列实现正在处理列表 std::queue<TPTask*> bufferedTaskList_; // 系统处于繁忙时还未处理的任务列表 //使用stl双向链表实现 std::list<TPTask*> finiTaskList_; // 已经完成的任务列表原创 2021-02-26 22:27:49 · 222 阅读 · 0 评论 -
<肆>kbengine源码剖析之kcp
kbengine中使用了udp跟tcp两种传输方式,udp使用的是可靠udp,也就是kcp,这里我们分析一下kcp是怎么植入到引擎中1.channel初始化kcp接口bool Channel::init_kcp(){ static IUINT32 convID = 1; // 防止溢出,理论上正常使用不会用完 KBE_ASSERT(convID != 0); if(id_ == 0) id_ = convID++; pKCP_ = ikcp_create((IUINT32)i原创 2020-08-23 14:52:47 · 485 阅读 · 0 评论 -
<叄>kbengine源码剖析之network
kbengine是同时支持linux与windows平台的,以前可能做windows平台比较多,本能的认为windows平台下使用的是IOCP完成端口,看了源码后,已经大体的能够看出windows下使用的是select,linux下使用的是epoll,接下来我们从下面步骤进行分析。1.loginapp是组件中最简单的,先分析下启动流程int KBENGINE_MAIN(int argc, char* argv[]){ ENGINE_COMPONENT_INFO& info = g_kb原创 2020-08-22 18:53:38 · 365 阅读 · 0 评论 -
<贰>kbengine源码剖析之loginapp
前面介绍了kbengine的大体框架结构及组成部分,接下来我们对引擎进行化整为零的分析,我们先介绍一下loginapp的作用及其使用方法。1.客户端登录校验loginapp_interface.h// 用户登录服务器 LOGINAPP_MESSAGE_EXPOSED(login)LOGINAPP_MESSAGE_DECLARE_STREAM(login,NETWORK_VARIABLE_MESSAGE)loginapp.h//用户登录校验void Loginapp::login(N原创 2020-08-22 13:55:43 · 270 阅读 · 0 评论 -
<壹>kbengine源码剖析之服务器框架
先简单了解下kbengine的框架架构,下面先上图 框架由loginapp,baseappmgr,baseapp,cellappmgr,cellapp,dbmgr,machine,interfaces,logger进程组成,下面主要介绍功能模块的作用,下面我们来介绍下每个功能模块的作用1.loginapp作用主要是登录验证、注册、接入口2.baseappmgr协调所有baseapp的工作,包括baseapp负载均衡处理等3.baseapp由loginapp校...原创 2020-08-22 12:15:20 · 536 阅读 · 0 评论 -
kbengine创建space
1.定义firstspace.def<root> <Properties> </Properties> <ClientMethods> </ClientMethods> <!-- BaseApp上的远程方法 --> <BaseMethods> </BaseMethods&...原创 2019-11-25 11:01:27 · 882 阅读 · 0 评论 -
KBEngine学习——服务端暴露接口给客户端调用
1.在对应的文件def中添加方法类型与属性例如:在accounts.def中加入属性playerName,与UserTest方法<root> <Properties> <playerName> <Type> UNICODE </Type> <Flags> BASE <...原创 2018-08-21 21:27:54 · 1170 阅读 · 0 评论 -
KBEngine搭建环境windows
1.安装mysql数据库my.ini文件中添加如下代码[mysqld]lower_case_table_names=0新建查询中添加如下默认sqluse mysql;delete from user where user=''; FLUSH PRIVILEGES;grant all privileges on *.* to kbe@'%' identified by 'kbe';gran...原创 2018-06-24 11:50:00 · 834 阅读 · 0 评论