DirectX简介 第四篇 DirectPlay简介

DirectPlay是DirectX的一部分,旨在提供不依赖于传输媒介的多人游戏功能。它包括DirectPlay对象(核心功能)和DirectPlayLobby(游戏大厅)。DirectPlay支持对等和客户/服务器通信模式,允许数据加密和消息传递。开发者需处理同步问题,例如输入同步和状态同步。DirectPlay使用服务提供器隐藏通信协议差异,并通过连接快捷方式和会话管理实现通信。DirectPlayLobby对象用于处理大厅接口,允许游戏注册大厅并处理连接设置。
摘要由CSDN通过智能技术生成

DirectPlay简介

1.       DirectPlay允许开发者提供不考虑传输媒介细节特征的多人参与功能,DirectX对不同的媒介同等对待(无论是TCP/IP网,IPX网或是调制解调器)

2.       DirectPlay对象

DirectPlay:提供DirectPlay的核心功能,它的接口给管理游戏者、组、游戏会话和数据传送提供各种方法。

DirectPlayLobby:为DirectPlay游戏提供场所空间,与实际的大厅一样,游戏者在这里见面并互相作用,此对象为启动和跟踪DirectPlay会话提供方法

3.       结构:DirectPlay主要目的和DirectX其他部件一样,都是提供展示硬件功能的一致接口

服务提供器:为开发者提供一致的接口、隐藏了通信协议间的差别、允许第三方开发者编制自己的服务提供器

最终解决方案的结构:游戏或其他应用程序与管理着一组服务提供器的DirectPlay交换信息,这些服务提供器中有思想DirectPlay连在一起:网络IPX/SPX、网络TCP/IP,调制解调器以及串行连接,网络服务器以Winsock作为基础,调制解调器以WindowsTAPI作为基础

4.       DirectPlay游戏

(1)       基于所有的服务提供器,程序可以同时拥有在同一传输媒介上运行的不同游戏的多个不同会话,DirectPlay为列举会话,创建新会话以及与现存会话相连提供多种方法,另外也可以用密码对会话进行保护,这时要求对用户的鉴定,会话被创建后,游戏就可以与之相连.DirectPlay提供了创建、删除、列举、描述游戏者的方法,游戏者也可结成小组以使管理更加容易,通信效果得以改进。

(2)       通信:DirectPlay在游戏者间既可以共享数据也可使用消息机制来传递消息。传送的数据可以被加密或用数字签名,DirectPlay还产生系统消息,可由此获知会话的状态

DirectPlay通讯机构是对等的客户/服务器式的兼而有之。

对等结构:对于网络服务提供器而言,每一新连入的DirectPlay对象在与会话主连接时都会收到一份其他DirectPlay对象的列表清单,这一表单在会话之中始终被保留着,每一DirectPlay对象都知道其它的对象,所以它们直接进行消息传送而不用通过会话主,所得到的会话也是对等的

客户/服务器结构:每一条消息都必须传给会话主

5.       应用程序设计

设计多人参与的应用程序需解决的最重要问题是同步问题

输入同步:一个游戏者的输入也输到其他游戏者那里,并当成同一机器具有多个输入设备处理(易于理解、易于实现、没有有效利用带宽、不健全)

状态同步:由本会话将状态传给其他会话

6.       DirectPlay标签项

 

使用DirectPlay

7.       DirectPlay的设置要求比其它的大部分DirectX部件困难得多

8.       GUID知识(全局唯一标识)

(1)       GUIDCOM结合使用,来识别对象和接口,并在需要有独特的标识符时出现

(2)       创建GUID(用于创建GUID的短小命令行程序称为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值