
源码
mergerly
这个作者很懒,什么都没留下…
展开
-
网狐棋牌游戏平台服务器架构设计分析
基本设计概念和处理流程 调用模型 模仿COM组件接口模式,利用面向对象思想多态性polymorphism,调用方保存着被调用方的基础接口指针(interface or sink钩子)(Pure Virtual Function),调用方直接调用接口指针内声明的纯虚方法,而此纯虚函数的具体逻辑由该接口的派生类实现。 示意图: 基于事件驱动的数据处理转载 2014-11-17 18:22:03 · 24195 阅读 · 4 评论 -
网狐棋牌(八) 异步引擎 和 网狐棋牌(九) 服务引擎概览
相关UML: 核心技术在于:在指定的线程中创建窗口,然后向窗口发送消息,在窗口消息处理中调用外部回调。转载 2014-11-18 11:40:26 · 2773 阅读 · 0 评论 -
网狐棋牌(六) DataBaseEngine 和 网狐棋牌(七) CEventService
网狐棋牌(六) DataBaseEngine 相关UML: 使用数据库引擎必须持有数据库引擎内部队列,实现数据库回调接口(用来处理数据库操作请求),然后结果投递到调度引擎队列。 理解网络狐棋牌,最重要是理解两个概念: 1,队列服务 2,接口的传递 晚上分析IEventService,明天应该能把IServiceEngine搞定 -_+! ------------转载 2014-11-18 11:36:14 · 2527 阅读 · 0 评论 -
网狐棋牌(五) TCPSocketEnging分析
相关UML: 网络引擎整体结构: SocketItem细节: 先来看几个底层结构: //重叠结构类 class COverLapped { //变量定义 public: WSABUF m_WSABuffer; //数据指针 OV转载 2014-11-18 11:28:17 · 6015 阅读 · 0 评论 -
网狐棋牌(三) 调度引擎初步分析
相关UML: CAttempterEngine实现了两个接口:IQueueServiceSink、IAttemperEngine; 通过前面的分析,偶们了解到,IQueueServiceSink这个接口被是用来处理CQueueService中的数据的,根据上面的UML我们可以看到,CAttemperEngine关联了一个CQueueService(或者直接点说是:持有了一个CQue转载 2014-11-18 11:00:40 · 6648 阅读 · 1 评论 -
网狐棋牌(一) ServerKernel中的IQueueService接口分析
相关UML如下: 添加: 处理 关键代码解析: 1//开始服务 2bool __cdecl CQueueService::StartService() 3{ 4 //效验参数 5 ASSERT(m_bService==false); 6 ASSERT(m_hCompletionPort==NULL); 7 AS转载 2014-11-18 10:42:31 · 5025 阅读 · 1 评论 -
网狐棋牌(十) 成也萧何败也肖何? IUnknowEx
相关UML: 看下某个查询接口的代码: ////////////////////////////////////////////////////////////////////////// //接口查询宏 #define QUERYINTERFACE(Interface,Guid,dwQueryVer)转载 2014-11-18 11:44:44 · 3658 阅读 · 1 评论 -
网狐棋牌(四) TimerEngine
相关UML: CTimerEngine成员变量: //状态变量 DWORD m_dwTimerSpace; //时间间隔,这个值后来应该是给了定时器线程 protected: bool m_bSe转载 2014-11-18 11:23:41 · 3263 阅读 · 0 评论 -
网狐棋牌(二) CQueueServiceEvent初步分析
相关UML: 代码分析: 首先CQueueServiceEvent这个名字很有诱惑,,,你感觉他是一个事件,其实不是。它实际的功能应该是一个带打包功能的事件队列,,,或者说是一个像指定的类似EventQueue的东东中投递事件。从接口上看,这个东东能投递TimerEvent DataBaseEvent SocketAcceptEvent SocketReadEvent So转载 2014-11-18 10:55:18 · 3277 阅读 · 0 评论 -
标准C++类std::string的内存共享和Copy-On-Write技术
标准C++类std::string的 内存共享和Copy-On-Write技术 陈皓 1、 概念 Scott Meyers在《More Effective C++》中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功课,于是你把自己关在房间里,做出一副正在复习功课的样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母转载 2016-04-15 20:44:35 · 1757 阅读 · 0 评论