kbengine源代码读v0.0.3

kbengine源代码读v0.0.3

ID:34417410

大小:115.11 KB

页数:48页

时间:2019-03-05

kbengine源代码读v0.0.3_第1页
kbengine源代码读v0.0.3_第2页
kbengine源代码读v0.0.3_第3页
kbengine源代码读v0.0.3_第4页
kbengine源代码读v0.0.3_第5页
资源描述:

《kbengine源代码读v0.0.3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、前言:v0.0.12015-04-10誉小痕(shawhen2012@hotmail.com)v0.0.22015-04-12誉小痕(shawhen2012@hotmail.com)v0.0.32015-04-23誉小痕(shawhen2012@hotmail.com)changelog请查看:http://bbs.kbengine.org/forum.php?mod=viewthread&tid=247&extra=page%3D1新增内容以**Newinversionx.x.x**标示友情提醒:打开Word的导航标题查看,因为我不会在文档

2、内对标题进行缩进基于kbengine0.4.20(兼容0.5.0)(现在和这份文档一起的有一个kbengine主干活动图,建议先看看那个图,参照图中的流程然后对照本文档理解流程的实现细节。活动图可在changelog帖子中找到下载地址)MMOG服务端是一种高品质的工程项目,品读开源的kbe是一种乐趣。本文档我带童鞋们一起领略一下。囿于我知识面和经验方面所限,文中所述之处难免有错误存在,还请读童鞋们睁大慧眼,如果你发现错误,可以电邮至shawhen2012@hotmail.com。(因为我个人懒散或者时间仓促的关系,这个文档的排版有点小乱。。。

3、)其他牛逼哄哄的前言就不说了。从理论上来讲,我们阅读一份源代码,首先应该基于现有的文档从整体上把握项目的架构之后再庖丁解牛一般地细分阅读,不过在我写这个文档的现在,我暂时没发现这样的文档,所以我就按照我自己的阅读顺序从而编排这个文档的内容。**NEWinversion0.0.3**l客户端概要:在过去0.0.2中我们对kbengine的服务端进行了大致流程的了解,接下来为了更加全面地了解到kbengine的整个框架流程(从理论上来讲不解读客户端我们也能完完整整地解读完服务端,不过我们还是看一看,以免管窥蠡测之嫌)。本文档采用Ogre的Demo

4、,主干活动图现已更新到v0.0.2,包含ogredemo的活动图。你可能担心自己不会Ogre,会看不懂这个文档,其实不用太担心,我也不会,我之所以选Ogre,是因为Unity,cocos2d-x,Ogre这些我一个都不会;-(,但Ogre的demo对于我们解读kbengine来说最clean,所以我选了这个来分析。1.main函数:a)初始化kbengine引擎:找到客户端的main函数(app/OgreApplication.cpp),可以看到主要就是装载了一下kbengine.dll,然后执行了kbe_init,我们跟进kbe_init(

5、kbengine_dll/main.cpp):boolkbe_init(){g_componentID=genUUID64();g_componentType=CLIENT_TYPE;//pserverconfig=newServerConfig;pconfig=newConfig;if(!loadConfig()){ERROR_MSG("loadConfig()iserror!");returnfalse;}DebugHelper::initialize(g_componentType);INFO_MSG("--------------

6、---------------------------------------------------------------------------");#ifdefUSE_OPENSSLif(KBEngine::KBEKey::getSingletonPtr()==NULL)KBEngine::KBEKeykbekey(KBEngine::Resmgr::getSingleton().matchPath("key/")+"kbengine_public.key","");#endifif(g_pScript==NULL)g_p

7、Script=newKBEngine::script::Script();if(g_pDispatcher==NULL)g_pDispatcher=newNetwork::EventDispatcher();if(g_pNetworkInterface==NULL){g_pNetworkInterface=newNetwork::NetworkInterface(g_pDispatcher,0,0,"",0,0,0,"",0,0);}if(!installPyScript(*g_pScript,g_componentType)){ERROR_

8、MSG("installPyScript()iserror!");returnfalse;}g_pApp=newClientApp(*g_pDispatcher

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。