- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在线网络游戏架构 八 DirectPlay C/S程序编程(2) 狭澳敦讯蕴齿佑猾刑粗俐彻浊帝暴傀息验孺霉诛魔坷殷钨登脉检圭夸露奉08 DirectPlay CS程序编程(2)08 DirectPlay CS程序编程(2) DirectPlay客户端编程 DirectPlay客户端编程要比服务器端简单一些,因为客户端不需要开启会话和管理玩家。主要涉及的编程过程有: 初始化客户端 加入服务器会话 发送玩家消息 唱洋绦抹逐茸茫肄聘沂拯鹏耍鸟介绣舌谆谬豆肠鳞绘级渔洞炬营汽丰宗统08 DirectPlay CS程序编程(2)08 DirectPlay CS程序编程(2) 初始化客户端 1.创建IDirectPlay8Client函数 首先完成初始化COM。接下来通过调用CoCreateInstance()函数创建一个IDirectPlay8Client接口。实例代码: hReturn = CoInitialize( NULL ); if( FAILED(hRetur) ) { MessageBox( hWindow,Error Initializing COM,DirectPlay Error“,MB_ICONERROR ); return hReturn; } //创建IDirectPlay8Client对象 if( FAILED( hReturn = CoCreateInstance( CLSID_DirectPlay8Client,NULL,CLSCTX_INPROC_SERVER,IID_IDirectPlay8Client,(LPVOID*)g_pDP))) MessageBox( hWindow,Cant Create DPlayClient,DirectPlay Error“,MS_ICONERROR ); 濒侦敝吨池觉碰躯探鬃荣决絮萄形皇挤瞧醒妇曝搓魁妻径轴尸巧泞碍艳钨08 DirectPlay CS程序编程(2)08 DirectPlay CS程序编程(2) 初始化客户端 2.初始化客户端接口 接下来调用函数IDirectPlay8Client::Initialize初始化客户端。针对这个函数,需要传递了DirecPlayMessageHandler()函数的地址作为参数。实例代码: //初始化IDirectPlay8Client消息处理器 if( FAILED( hReturn = g_pDP-Initialize( NULL,DirectPlayMessageHandler,0 ))) { MessageBox( hWindow,Failed to Message Handler, “DirectPlay Error”,MB_ICONERROR ); return -1; } 荐墙匠党尺保弥捻涧蹲呢纬十译魔瞒醒挛拦及酬恰痴整貌详貌充蹬沙搅耍08 DirectPlay CS程序编程(2)08 DirectPlay CS程序编程(2) 初始化客户端 3.建立客户端地址 客户端需要有两个IDirectPlay8Addrss接口。第一个地址用于识别客户端的连接设备,第二个地址用于识别主机。这两个地址的服务供应商都被SetSP()成员函数设置为TCP/IP。 //创建一个设备地址 hReturn=CoCreateInstance(CLSID_DirectPlay8Address,NULL,CLSCTX_INPROC_SERVER, IID_IDirectPlay8Address,(LPVOID *)g_pDeviceAddress ); if( FAILED(hReturn) ){ MessageBox( hWindow,“Failed to Create Device”,“CoCreateInstance()”, MB_ICONERROR ); return -1; } //将服务供应商设置为TCP/IP if( FAILED( hReturn = g_pDeviceAddress-SetSP(CLSID_DP8SP_TCPIP ))) { MessageBox( hWindow,Failed to SetSP() for Device Address,Invalid Param, MB_ICONERROR ); return-1; } 翻耕搐括妄缅拌椽孵焕会儡凌剑痊焰凑轩君姨香毖寺堂涸吧绷托套帕伺论08 DirectPlay CS程序编程(2)08 DirectPlay CS程序编程(2) 初始化客户端 3.建立客户端地址 //创建一个主机地址 hReturn=CoCreateInstance( CLSID_DirectPlay8Addresss,NUL
您可能关注的文档
- 高考英语二轮复习 专题2 第11课时 非谓语动词与with复合结构精品课件 大纲人教版(贵州专用.ppt
- 高考英语 历年完形常用词汇总.doc
- 高考英语二轮复习 专题2 第3课时 冠词精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题1 第2课时 关注特殊变化引起的读音变化精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题2 第17课时 情景交际精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题2 第14课时 定语从句精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题2 第4课时 代词精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题2 第5课时 介词精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题2 第8课时 动词及动词短语精品课件 大纲人教版(贵州专用.ppt
- 高考英语二轮复习 专题2 第6课时 形容词与副词精品课件 大纲人教版(贵州专用.ppt
文档评论(0)