自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(13)
  • 收藏
  • 关注

原创 传奇源码分析-服务器端(SelGate服务器分析)

  SelGate服务器注:客户端从LoginSvr服务器得到SelGate服务器IP之后,连接SelGate服务器,进行角色创建,删除,选择操作,然后发送数据到DBSrv服务器。g_ssock  Local    7100客户端登陆端口g_csock Remote   5100发送到DBSrv服务器上的套接字 1.首先从SelGate.cpp WinMain分析:

2007-03-19 23:02:00 11839 8

原创 传奇源码分析-客户端(游戏逻辑处理源分析四)

  现在假设玩家开始操作游戏:传奇的客户端源代码工程WindHorn一、CWHApp派生CWHWindow和CWHDXGraphicWindow。二、CWHDefProcess派生出CloginProcess、CcharacterProcess、CgameProcess客户端WinMain调用CWHDXGraphicWindow g_xMainWnd;创建一个窗口。客户

2007-03-19 22:54:00 6348 1

原创 传奇源码分析-客户端(游戏逻辑处理源分析三)

  6. 接收怪物,商人,其它玩家的消息:ProcessUserHuman:(其它玩家—服务器处理)CPlayerObject->SearchViewRange();CPlayerObject->Operate();遍历UserInfoList列表,依次调用每个UserInfo的Operate来处理命令队列中的所有操作; pUserInfo->Operate()调用m_px

2007-03-08 18:33:00 5925 3

原创 传奇源码分析-客户端(游戏逻辑处理源分析二)

  5.接受登录成功后,接收GameSrv服务器发送的消息:接收GameGate发送的消息:CClientSocket::OnSocketMessage的FD_READ事件中,PacketQ.PushQ((BYTE*)pszPacket);把接收到的消息,压入PacketQ队列中。处理PacketQ队列数据是由CGameProcess::Load()时调用OnTimer在CGamePr

2007-03-08 18:31:00 5698 1

原创 传奇源码分析-服务器端(LoginSvr服务器分析)

   LoginSvr服务器g_gcSock Local    5500端口1.首先从LoginSvr.cpp  WinMain分析:   1) CheckAvailableIOCP : 检查是不是NT,2000的系统(IOCP)   2) InitInstance: 初始化界面,加载WSAStartup       GetDBManager()->Init( Inse

2007-03-08 18:28:00 7871

原创 传奇源码分析-服务器端(LoginGate服务器处理)

    LoginGate服务器服务器端: 1.首先从LoginGate.cpp WinMain分析:    1) CheckAvailableIOCP : 检查是不是NT,2000的系统(IOCP)    2) InitInstance: 初始化界面,加载WSAStartup3)  MainWndProc窗口回调函数.2.MainWndProc.CPP

2007-03-06 22:42:00 12812 7

原创 传奇源码分析-客户端(传奇2文件格式分析)

  传奇文件类型格式探讨(一):Wix文件:索引文件,根据索引查找到相应数据地址(数据文件)。// WIX 文件头格式 typedef struct tagWIXFILEIMAGEINFO{    CHAR    szTmp[40];     // 库文件标题 WEMADE Entertainment inc. WIL文件头    INT     nIndexC

2007-03-03 17:12:00 6544 1

原创 传奇源码分析-客户端(全局变量与总体执行流程)

  客户端:传奇的客户端源代码有两个工程,WindHorn和Mir2Ex。先剖析一下WindHorn工程。1.CWHApp、CWHWindow和CWHDXGraphicWindow。Window程序窗口的创建。          CWHApp派生CWHWindow,CWHWindow又派生CWHDXGraphicWindow。CWHWindow类           中完成窗口

2007-03-02 16:37:00 5234 1

原创 传奇源码分析-客户端(WindHorn简述和传奇文件格式分析)

   DirectX类库分析(WindHorn): 1.     RegHandler.cpp 注册表访问(读写)。2.     CWHApp派生CWHWindow,CWHWindow完成窗口的注册和创建。CWHWindow派生出CWHDXGraphicWindow,CWHDXGraphicWindow调用CWHWindow完成创建窗口功能,然后再调用CreateDXG()来初始化

2007-03-01 17:01:00 7600 2

原创 传奇源码分析-序言

 简述:     最近对高性能的服务器比较感兴趣,读过了DELPHI的Socker源码WebService及RemObject之后,高性能的服务器感兴趣。你可能需要的以下知识才能更好的读懂一个商业源码:1).SOCKET的I/O模型熟悉掌握。2).面向对象技术的熟悉掌握。3).Socket的API掌握。4).多线程技术等。5).一门熟悉的开发工具掌握,和多种语言的源

2007-02-28 11:45:00 7057 3

转载 水滴石穿C语言之可变参数问题

作者: 楚云风   C语言中有一种长度不确定的参数,形如:"…",它主要用在参数个数不确定的函数中,我们最容易想到的例子是printf函数。  原型:int printf( const char *format [, argument]... );使用例:printf("Enjoy

2007-02-28 10:09:00 1549

原创 RemObject解决自动生成代码的想法.

               用过DELPHI写过多层框架的,可能能RemObject比较熟悉. RemObjects Service Builder 自动生成代码的同时,也给我们带来困扰. 每个类都要定义在intf文件里, 接口只有一个, 这些显然对我们开发系统来讲, 支持的不够, 我想使用多个接口,也不想没完没了的定义结构.              前一段时间写了一个自动生成元数据的小工

2007-02-27 16:11:00 4444 1

原创 Overlapped模型深入分析(原理篇)

  Overlapped I/O模型深入分析简述:     Overlapped I/O也称Asynchronous  I/O,异步I/O模型。异步I/O和同步I/O不同,同步I/O时,程序被挂起,一直到I/O处理完,程序才能获得控制。异步I/O,调用一个函数告诉OS,进行I/O操作,不等I/O结束就立即返回,继续程序执行,操作系统完成I/O之后,通知消息给你。Overlapped I

2007-02-26 14:14:00 3936

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除