DirectPlay分组功能

原创 2002年09月05日 09:00:00
现在网络游戏的网络功能很大一部份是居于WinSock/Socket之上的。但Microsoft的游戏开发包DirectX SDK同样提供了网络的功能----DirectPlay.
    当然,WinSock/Socket与DirectPlay相比较,都存在着优缺.
    而这个"优"与"缺"不是一两句话可概括的(本文重点也不是讲它们的区别).
    DirectPlay的优点:Microsoft的工程师们已把它的网络功能写好了,这样可以为您节省下不少的泡MM时间.如:网络初始化、网络通信的函数功能、网络分组功能等等等("网络分组"是本文的中心)
    DirectPlay的缺点:他的服务端只能运行在Windows平台上;只能支持较少数量的玩家(好现没有哪个公司或个人证明过,在MSDN论坛上我问过之类的问题,但MicroSoft说这主要是靠你写的程序的类型和你的服务器有关而且他们过去也在内部做过有10000名玩家的试验,我在Microsoft的帖子详见: 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()、CreateGroupInGroup()、CreatePlayer()等等等...
    而我们要用这些函数时要怎么办?SDK`s Help中又没说清楚~~
    且现有的函数最多只是给你这个函数的类型是什么、参数是什么、返回值是什么、而没有具体用法......
    这所有的一切的一切将在本文章所附带的范例中一一给您展现,且例子中的代码有详细的中文注解.

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

附件:

说明:本范例下载 Engine2.zip

[译]使用DirectPlay

翻译自:Microsoft DirectX 8.1 VB Document译者:Xuefeng(未经许可请勿转载)1.        使用DirectPlay微软DirectPlay应用程序接口(AP...
  • asklxf
  • asklxf
  • 2004年09月20日 20:43
  • 5903

使用DirectPlay

翻译自:Microsoft DirectX 8.1 VB Document译者:Xuefeng(未经许可请勿转载)1.        使用DirectPlay微软DirectPlay应用程序接口(AP...
  • qq_net
  • qq_net
  • 2006年06月07日 21:21
  • 2823

DirectX简介 第四篇 DirectPlay简介

DirectPlay简介 1.       DirectPlay允许开发者提供不考虑传输媒介细节特征的多人参与功能,DirectX对不同的媒介同等对待(无论是TCP/IP网,IPX网或是调制解调...
  • EmberSpirit
  • EmberSpirit
  • 2012年10月18日 13:39
  • 749

X.25各类分组的格式及其功能

X.25分组均有分组头与数据信息组成,一般格式如下:————————————————| 通用格式标识 | 逻辑信道组号 ||               逻辑信道号             ||   ...
  • yuhope
  • yuhope
  • 2008年04月05日 23:27
  • 2061

web前端-CSS 分组和嵌套-015

Grouping Selectors在样式表中有很多具有相同样式的元素。h1 { color:green; } h2 { color:green; } p { color:green; }为了尽量减少...
  • helloMr_wo
  • helloMr_wo
  • 2016年10月10日 13:43
  • 311

前端页面自定义分组

最近小编在做一个有关订餐的项目,项目中用到了自定义分组的知识,需要使用模态框弹出一个框实现左右两栏布局,把左边栏选择出来的东西放到右边栏,然后保存到数据库中。...
  • zmh458
  • zmh458
  • 2017年08月31日 12:39
  • 297

18_ListView实现分组效果

简单实现ListView分组的效果     1.实现效果如下: 2.数据库准备数据     package com.example.contactdemo.db; import and...
  • redarmy_chen
  • redarmy_chen
  • 2015年05月28日 19:35
  • 2230

jQuery--筛选案例--QQ用户分组

筛选案例--QQ用户分组 Insert title here $(document).ready(function(){ //1所有分组列表项默认都是隐藏的。 //2...
  • CSDN_GIA
  • CSDN_GIA
  • 2017年02月02日 22:42
  • 402

ARP分组

0000  ff ff ff ff ff ff 00 25 11 6a 8f 03 08 06 00 010010  08 00 06 04 00 01 00 25 11 6a 8f 03 ac 14...
  • tg5156
  • tg5156
  • 2011年06月23日 12:09
  • 1226

MFC 树形控件 实现选择分组下面成员全选

树形控件点击分组全选,取消一个,分组选择变暗 1.添加树形控件 给树形控件添加成员变量CTreeCtrl m_TripleTree; 2.在头文件中添加变量 HTREEITEM m_hTree...
  • cddchina
  • cddchina
  • 2012年10月28日 23:05
  • 2548
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DirectPlay分组功能
举报原因:
原因补充:

(最多只允许输入30个字)