DirectPlay分组功能 (转)

DirectPlay分组功能 (转)[@more@]现在 网络游戏的网络功能很大一部份是居于WinSock/Socket之上的。但 microsoft的游戏开发包 DirectX SDK同样提供了网络的功能----DirectPlay.
 当然,WinSock/Socket与DirectPlay相比较,都存在着优缺.
 而这个"优"与"缺"不是一两句话可概括的(本文重点也不是讲它们的区别).
 DirectPlay的优点:Microsoft的工程师们已把它的网络功能写好了,这样可以为您节省下不少的泡MM时间.如:网络初始化、网络通信的 函数功能、网络分组功能等等等("网络分组"是本文的中心)
 DirectPlay的缺点:他的服务端只能运行在 windows平台上;只能支持较少数量的玩家(好现没有哪个公司或个人证明过,在MSDN论坛上我问过之类的问题,但MicroSoft说这主要是靠你写的 程序的类型和你的 服务器有关而且他们过去也在内部做过有10000名玩家的试验,我在Microsoft的帖子详见: ASP?ICP=msdn&sLCID=us&sgroupURL=microsoft.public. win32.programmer.directx .NETworking&sMessageID=%253CObG98IsTCHA.1640@tkm sftngp10%253E" target=_blank>http://communities.microsoft.com/newsgroups/previewFrame.asp?ICP=msdn&sLCID=us&sgroupURL=microsoft.public.win32.programmer.directx.networking&sMessageID=%253CObG98IsTCHA.1640@tkmsftngp10%253E )
 萝卜青菜各有所爱,关于谁优谁劣就留给各位讨论吧。

 好了,现在进入主题。
 先给大家介绍DirectPlay中"组"的功能.
 我们知道,在网络中要给某人发送消息,就要知道他的地址,也就是说要给一群人发送,就是要知道他们每个人的地址.这样,一个一个轮着发不会很麻烦吗?还好,DirectPlay引入了组的概念.只要你把这些人加入某组,以后给这个组发一条消息,他们每人就都会收到这个消息.怎么样?很爽是吧~~
 爽是爽,但问题来了,DirectX SDK 8.1 与 DirectX SDK 7.0 有了相当大的改变,而这些改变SDK Help中又只是用几句话带过(有的甚至没有讲).比如有几个函数在8.1中就消失了,如:AddGroupToGroup()、RemoveGroupFromGroup()、CreateGrou pingroup()、Create player()等等等...
 而我们要用这些函数时要怎么办?SDK`s Help中又没说清楚~~
 且现有的函数最多只是给你这个函数的类型是什么、参数是什么、返回值是什么、而没有具体用法......
 这所有的一切的一切将在本文章所附带的范例中一一给您展现,且例子中的代码有详细的中文注解.

注:
 本例子在以下编译环境中通中通过:VC6.0、DirectX 8.1 SDK、 winxp
正文完

附件:

UPLOAD/135.zip" rel="nofollow" target=_blank>说明:本范例 下载 Engine2.zip

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991514/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-991514/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值