WH内核
马丹打印“WH的汉字”竟然说违规?
H-KING
学海无涯
展开
-
网狐棋牌(四) TimerEngine
相关UML:CTimerEngine成员变量: //状态变量 DWORD m_dwTimerSpace; //时间间隔,这个值后来应该是给了定时器线程protected: bool m_bSe转载 2015-06-30 21:28:41 · 1374 阅读 · 0 评论 -
Mission系统预览
从大局上看Mission是和整体的MVC框架协作的,那ServerListData来说,ServerList这一个逻辑可以单独出来,维护三个位置Data、Mission、View具体到list data的获取都直接由Mission完成,其他模块之需要使用就OK,Mission自己有策略决定何时去获取,或者定时更新转载 2015-06-30 21:36:58 · 832 阅读 · 0 评论 -
网狐定时器引擎分析
先贴出来网狐源码:#ifndef WH_THREAD_HEAD_FILE#define WH_THREAD_HEAD_FILE#pragma once#include "ServiceCoreHead.h"////////////////////////////////////////////////////////////////////////////////////线程原创 2015-07-02 21:25:05 · 3431 阅读 · 1 评论 -
洗牌算法
//混乱扑克VOID CGameLogic::UpsetCards(BYTE cbCardBuffer[], BYTE cbBufferCount){ //混乱准备 BYTE cbCardData[cbBufferCount]; CopyMemory(cbCardData,cbCardBuffer,cbBufferCount); //混乱扑克 BYTE cbRandCount=0,原创 2015-10-16 10:00:00 · 686 阅读 · 0 评论 -
棋牌游戏服务器架构: 总体设计
首先要说明的是, 这个棋牌游戏的服务器架构参考了网狐棋牌的架构。网狐棋牌最令人印象深刻的是其稳定性和高网络负载。它的一份压力测试报告上指出:一台双核r的INTEL Xeon 2.8CPU加上2G内存和使用共享100M光纤的机子能够支持5000人同时在线游戏。 在研究其服务器框架后发现,它的网络部分确实是比较优化的。它主要采用了Windows提供的IO完成端口来实现其网络组件。本服转载 2016-02-05 14:01:16 · 4250 阅读 · 0 评论 -
棋牌游戏服务器架构: 部署
先看一下,下面这张可能的部署图吧。图1 系统布署图 在这个图中,可以看到,客户端的形式多种多样,可能是pc上的一个可执行文件,也可能是通过浏览器打开的一个网页,甚至于手机客户端。它们都通过internet连接到游戏服务器。 在这个部署中有1个CenterServer,1个LogServer,3个LogonServer和很多个RoomServer转载 2016-02-05 14:02:22 · 4237 阅读 · 0 评论 -
棋牌游戏服务器架构: 详细设计(一) 内核设计
内核的几个组件被设计成Service,也就是说这几个模块都要实现如下接口:图1 IService接口 Start方法用来启动服务。 Stop 方法用来关闭服务。 IsService 方法用于查询当前服务是否正在工作。 内核中的几个Service都不能够直接创建,Applications在使用这些Service转载 2016-02-05 14:03:24 · 5397 阅读 · 0 评论 -
棋牌游戏服务器架构: 详细设计(二) 应用层设计
这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏模块和前4个服务器的设计很不相同。这里先说一下服务器应用的详细设计。 这上面提到的四4服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等。这里会采用MVC转载 2016-02-05 14:04:17 · 3384 阅读 · 2 评论 -
棋牌游戏服务器架构: 详细设计(三) 数据库设计
主要有3类Database: ServerInfoDB,UserInfoDB和GameDB。 ServerInfoDB主要存储的是游戏列表的信息,UserInfoDB存储玩家的全局信息,而GameDB就是积分以及积分变化情况。下面分别加以描述。1. ServerInfoDB ServerInfoDB主要存储游戏列表信息。主要有以下几个表: 1. Game转载 2016-02-05 14:05:00 · 7513 阅读 · 0 评论 -
一点一滴解读网狐的加解密
一点一滴解读网狐的加解密原创 2015-07-15 23:17:13 · 9944 阅读 · 10 评论 -
高性能服务器 - window篇
最初研究网狐是14年的时候,一转眼已经是18年了,这几年也做了写乱七八糟的开发,期间也做了些网络层的开发,自我感觉良好,最近做的项目主要负责服务器方面,CS架构的。一开始写了个CSocket简单的服务器,就是网上常见的结构,封装下,在继承下,记得13年在深蓝培训时候老师就是这样写的,测试的时候发现批量登录导出是BUG,经不起大规模的登录。估计主要是自己对MFC封装的CSocket了解不深,唉...原创 2018-06-22 14:04:05 · 1390 阅读 · 4 评论 -
Module.h 网狐的“com”工具箱
Module.h 网狐的“com”工具箱:简单介绍下这个东东,其实我以前分析的时候就说过了,这个设计看上去很美,其实用起来不那么方便。这不6603就没有这玩意了。 网狐的COM接口比较简单,只有两个接口interface IUnknownEx void Release() void* QueryInterface(REFGUID guid, DWORD dw转载 2015-06-30 21:35:37 · 2031 阅读 · 0 评论 -
网狐棋牌(十) 成也萧何败也肖何? IUnknowEx
相关UML:看下某个查询接口的代码:////////////////////////////////////////////////////////////////////////////接口查询宏#define QUERYINTERFACE(Interface,Guid,dwQueryVer)转载 2015-06-30 21:31:29 · 1277 阅读 · 0 评论 -
网狐棋牌(一) ServerKernel中的IQueueService接口分析
相关UML如下:添加:处理关键代码解析: 1//开始服务 2bool __cdecl CQueueService::StartService() 3{ 4 //效验参数 5 ASSERT(m_bService==false); 6 ASSERT(m_hCompletionPort==NULL);转载 2015-06-30 21:26:43 · 2015 阅读 · 0 评论 -
网狐棋牌游戏平台服务器架构设计分析
调用模型模仿COM组件接口模式,利用面向对象思想多态性polymorphism,调用方保存着被调用方的基础接口指针(interface or sink钩子)(Pure Virtual Function),调用方直接调用接口指针内声明的纯虚方法,而此纯虚函数的具体逻辑由该接口的派生类实现。示意图: 基于事件驱动的数据处理模型在系统功能设计中,针对网络事转载 2015-06-30 21:25:21 · 2488 阅读 · 1 评论 -
网狐棋牌(六) DataBaseEngine 和 网狐棋牌(七) CEventService
相关UML:使用数据库引擎必须持有数据库引擎内部队列,实现数据库回调接口(用来处理数据库操作请求),然后结果投递到调度引擎队列。理解网络狐棋牌,最重要是理解两个概念:1,队列服务2,接口的传递晚上分析IEventService,明天应该能把IServiceEngine搞定 -_+! ----------------------------------转载 2015-06-30 21:30:11 · 1055 阅读 · 0 评论 -
网狐棋牌(八) 异步引擎 和 网狐棋牌(九) 服务引擎概览
相关UML:核心技术在于:在指定的线程中创建窗口,然后向窗口发送消息,在窗口消息处理中调用外部回调。 ------------------------------------------------------------------------------网狐棋牌(九) 服务引擎概览相关UML:服务引擎这是简单的聚合了其他的子模块,然后在S转载 2015-06-30 21:30:57 · 1564 阅读 · 0 评论 -
关于网狐棋牌6603源码的整理、编译和搭建
最近换工作,趁着有一段清闲时间,整理了一下网狐棋牌的源码,这份源码下载很久了,一直呆在硬盘。这次正好好好看看。 网狐的代码质量很高,流露出来的代码也比较完整,基本上都能编译通过。但是要真的搭建起来,还是需要额外花一些功夫的。 我下载的是6603版本,经过分析和研究,服务器这边主要是缺少KernelEngine的源码,客户端这边主要是缺少NetworkServ转载 2015-06-30 21:33:45 · 4587 阅读 · 0 评论 -
大厅的列表服务预览
转载 2015-06-30 21:36:13 · 740 阅读 · 0 评论 -
网狐棋牌(二) CQueueServiceEvent初步分析
相关UML:代码分析:首先CQueueServiceEvent这个名字很有诱惑,,,你感觉他是一个事件,其实不是。它实际的功能应该是一个带打包功能的事件队列,,,或者说是一个像指定的类似EventQueue的东东中投递事件。从接口上看,这个东东能投递TimerEvent DataBaseEvent SocketAcceptEvent SocketReadEvent So转载 2015-06-30 21:27:25 · 1289 阅读 · 0 评论 -
网狐棋牌(三) 调度引擎初步分析
相关UML:CAttempterEngine实现了两个接口:IQueueServiceSink、IAttemperEngine;通过前面的分析,偶们了解到,IQueueServiceSink这个接口被是用来处理CQueueService中的数据的,根据上面的UML我们可以看到,CAttemperEngine关联了一个CQueueService(或者直接点说是:持有了一个CQue转载 2015-06-30 21:28:04 · 1627 阅读 · 0 评论 -
网狐棋牌(五) TCPSocketEnging分析
相关UML:网络引擎整体结构:SocketItem细节:先来看几个底层结构://重叠结构类class COverLapped{ //变量定义public: WSABUF m_WSABuffer; //数据指针 OV转载 2015-06-30 21:29:37 · 2019 阅读 · 0 评论 -
网狐的加密模块,映射加密算法分析
//发送映射const BYTE g_SendByteMap[256]={ 0x70,0x2F,0x40,0x5F,0x44,0x8E,0x6E,0x45,0x7E,0xAB,0x2C,0x1F,0xB4,0xAC,0x9D,0x91, 0x0D,0x36,0x9B,0x0B,0xD4,0xC4,0x39,0x74,0xBF,0x23,0x16,0x14,0x06,0x转载 2015-06-30 21:32:52 · 2916 阅读 · 0 评论 -
两年前搭建的网狐系统
宝贝 店铺 输入您想要的宝贝 搜索 网狐6603源码(内核+多款游戏) 商品ID:527229490733 类目: 其他 >> 其它 价 格: ¥ 100.00 物流运费: 卖家承担运费 所在地区: 陕西西安 30天售出: 0 件 评 价: 暂无评价 宝贝类型: 全新 | 24 次浏览 | 0 次收藏 库 存:(1件) 您现在查看的是 宝贝快照 该宝贝快照生成于 2016...原创 2018-06-27 22:17:04 · 1538 阅读 · 0 评论