-
VB.NET实现DirectPlay(1)枚举设备
关键字: DirectPlay DPlay VB DirectX .net 网络 游戏 作者:董含君
转贴请注明来自 http://a11s.cnblogs.com (CSDN的不用了)来到CNBLOGS继续我的学习笔记
很久没更新自己的Blog了,一开始主要是因为考学,后来又是站点,然后就是比较懒,还有CSDN的Blog经常挂…现在写blog都要先用word保存以防不测…
DirectDraw就写了两个,仍需继续努力啊.可是最近对D3D的Sprite有点感兴趣.可能忍痛就不去捣鼓那个了,毕竟,微软以后就有可能不再对它提供支持了.悲哀啊…DPlay也是..目前还是DPlay8的核心,没有DPlay9同样个个方法都标注了警告信息,过时的.但是对于.net 1.1来说我们还能继续发挥它的余热(废话,毕竟是封装好了的,自然有方便的地方)
直接看Sample有点困难,最终还是从Tutorial 1 开始.搜索DPlay的东西真的很困难.还是那句话,大言不惭的美其名曰:填补国内空白!
Part 1: 得到目前可能使用的连接方式
比如 网卡 调制解调器 IPX 等等,虽然貌似只有IPX跟TCP比较有用.但是DPlay封装的结果就是不用关心底层.也就是说 理论上可以用任何方式连接你的HOST 或者 Server.
大道理谁都懂.不就是所谓的CS嘛.但是这里的CS还不太一样.简单的P2P连接,这个成为Host,不叫Server.我们可以用这个peer得到全部的设备列表
大道理谁都懂.不就是所谓的CS嘛.但是这里的CS还不太一样.简单的P2P连接,这个成为Host,不叫Server.我们可以用这个peer得到全部的设备列表
MS的例子写的超级麻烦.这里简化一下.(看微软的,要看将近1000行)
实在是简单的不得了,所以就不解释了,自己看看ServiceProviderInformation的其他属性,比如那个guid,OK 这个完了就进行下一步
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim p As New Peer 'new 一个点,也可以叫做连接,功能多多,以后慢慢来,你现在理解成winsock控件就可(暂时这么理解)
Dim ProviderInfo() As ServiceProviderInformation '就是设备列表数组
ProviderInfo = p.GetServiceProviders(True) '看看能得到多少,True 表示得到全部
Dim pi As ServiceProviderInformation
For Each pi In ProviderInfo
ListBox1.Items.Add(pi.Name)
Next
End Sub
![](data:image/png;base64,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HgkaIYQQQhw9EjRCCCGEOHokaIQQQghx9EjQCCGEEOLokaARQgghxNEjQSOEEEKIo0eCRgghhBBHjwSNEEIIIY4eCRohhBBCHD0SNEIIIYQ4eiRohBBCCHH0SNAIIYQQ4uiRoBFCCCHE0SNBI4QQQoijR4JGCCGEEEePBI0QQgghjh4JGiGEEEIcPRI0QgghhDh6JGiEEEIIcfRI0AghhBDi6JGgEUIIIcTRI0EjhBBCiKNHgkYIIYQQR48EjRBCCCGOHgkaIYQQQhw9EjRCCCGEOHokaIQQQghx9EjQCCGEEOLokaARQgghxNEjQSOEEEKIo0eCRgghhBBHjwSNEEIIIY4eCRohhBBCHD0SNEIIIYQ4eiRohBBCCHH0SNAIIYQQ4uiRoBFCCCHE0SNBI4QQQoijR4JGCCGEEEePBI0QQgghjh4JGiGEEEIcPRI0QgghhDh6JGiEEEIIcfRI0AghhBDi6JGgEUIIIcTRI0EjhBBCiKNHgkYIIYQQR48EjRBCCCGOHgkaIYQQQhw9EjRCCCGEOHokaIQQQghx9EjQCCGEEOLokaARQgghxNEjQSOEEEKIo0eCRgghhBBHjwSNEEIIIY4eCRohhBBCHD0SNEIIIYQ4eiRohBBCCHH0SNAIIYQQ4uiRoBFCCCHE0SNBI4QQQoijR4JGCCGEEEePBI0QQgghjh4JGiGEEEIcPRI0QgghhDh6JGiEEEIIcfRI0AghhBDi6JGgEUIIIcTRI0EjhBBCiKNHgkYIIYQQR48EjRBCCCGOHgkaIYQQQhw9EjRCCCGEOHokaIQQQghx9EjQCCGEEOLokaARQgghxNEjQSOEEEKIo0eCRgghhBBHjwSNEEIIIY4eCRohhBBCHD0SNEIIIYQ4eiRohBBCCHH0SNAIIYQQ4uiRoBFCCCHE0SNBI4QQQoijR4JGCCGEEEePBI0QQgghjh4JGiGEEEIcPRI0QgghhDh6JGiEEEIIcfRI0AghhBDi6JGgEUIIIcTRI0EjhBBCiKNHgkYIIYQQR48EjRBCCCGOHgkaIYQQQhw9EjRCCCGEOHokaIQQQghx9EjQCCGEEOLokaARQgghxNEjQSOEEEKIo0eCRgghhBBHjwSNEEIIIY4eCRohhBBCHD0SNEIIIYQ4eiRohBBCCHH0SNAIIYQQ4uiRoBFCCCHE0SNBI4QQQoijR4JGCCGEEEePBI0QQgghjp48ACQAEngAPPDfwOERIIYHD0gSwPP+/99KIYQQ4r+Ih2tX8uDn5MHjnvN/78HvxA+RfOx5SDwPsefB8zwUggB3wxGKxSJOOm38d//tf4O//k//G37604/w7t07VMrlx+ddCCGEOEoOC9pms8ZJp4PFdIYkiuF7PtbrFcJaDatojVzO/x63U3wX+wiNZxGa9WaLVquFTqeDZ8+eoXd+bk8+P+tJzAghhPg3SRLH8HI5IEkQhiGiKMJut9snJxSd+aGTf/iL2WyGIAjw5s0bnJ6e4pN/+Ad4nofZbIZyuYy8FKoQQoh/g4RhiM1mgyiKMJ1OUSqV4HkecrkcwjDEbrf7vjdRfAuPBE273UY+n8d4PAYA/L/t3V1v2jwchvHLsZPQQEupVPb9v99YWNqEvNneAYWyIfV5pKkLqe6fFEHCyV/mwHccO26ahvv7e7IsY7lccqibf16kiIjIZ2vblr7vASiKgizLGMeRw+FACAFrdUN/y64CTVVVLBYLrLXUdU2WZTjnSNOUl5cXrNHCKBER+XqccyRJgjGGPM8Zx5EQAl3XKczMwFWgKYoCay0xRtq2xVrLOI4YY+i6jlWxnKJOERGRT7Xf73HOEULAe8/hcCDPc6y13N3d0XXd1CXKB64CTQiBvu/p+540TfHeY63FOcfz8zP1y+sUdYqIiHyqh4cH0jSlaRqstXjvSZKEYRgUZmbgKtBkWYYxBu892+2WsiwZhoGyLNlsNiSJHjmJiMjXU9c1RVEwDANpmp5HZkIIhBDU/924q0BzmhCV5zllWQJgrWW9XhNCwGjZtoiIfEF5nuO9P08GzvOcuq4BFGZmQP+QiIiIzJ4CjYiIiMyeAo2IiIjMngKNiIiIzJ4CjYiIiMyeAo2IiIjMnjtun306RERERG6MicT4llbMW2Ix8XjdRDDghr4lBnfc7iDE/15rP8EO6jG+hy1t4f6xGOO5jU6fMcZzG6r9RERkbiIwBo+zCdY66rphs3liUSz4Ue6AgLPWkqbpOchchocpeO+vOt3LkKUO+WOX7XMZZE7nzl29S1FEROSmRcDlGS5LCSHihoHvux27HzvWj2sg4iKGiGH0x9c6hzBtoBl9AI4d8/tIA+drTBy4bt/vAeb9O4ChH8Z/X5KIiMhfiAZ839NXFUmSsFrdc7co2G6/sdls2P/c45xLsdYxDAMxgjHTzhPOsvzD36ceQZoTY96D4ekYRwUaERGZlwgkFkiS487nbc/h0FJVFVVV8bh+xMWY4Efo2pEsz6auGfvHo6/4NuKgIPP/XM6bOYrHYMMx4MSohW0iIjIv0USWqyXlfk8M8Ppas1qteHp6oq4bwPALYpPL61+COYoAAAAASUVORK5CYII=)
转贴请注明来自 http://a11s.cnblogs.com (CSDN的不用了)来到CNBLOGS继续我的学习笔记
很久没更新自己的Blog了,一开始主要是因为考学,后来又是站点,然后就是比较懒,还有CSDN的Blog经常挂…现在写blog都要先用word保存以防不测…
DirectDraw就写了两个,仍需继续努力啊.可是最近对D3D的Sprite有点感兴趣.可能忍痛就不去捣鼓那个了,毕竟,微软以后就有可能不再对它提供支持了.悲哀啊…DPlay也是..目前还是DPlay8的核心,没有DPlay9同样个个方法都标注了警告信息,过时的.但是对于.net 1.1来说我们还能继续发挥它的余热(废话,毕竟是封装好了的,自然有方便的地方)
直接看Sample有点困难,最终还是从Tutorial 1 开始.搜索DPlay的东西真的很困难.还是那句话,大言不惭的美其名曰:填补国内空白!
Part 1: 得到目前可能使用的连接方式
比如 网卡 调制解调器 IPX 等等,虽然貌似只有IPX跟TCP比较有用.但是DPlay封装的结果就是不用关心底层.也就是说 理论上可以用任何方式连接你的HOST 或者 Server.
大道理谁都懂.不就是所谓的CS嘛.但是这里的CS还不太一样.简单的P2P连接,这个成为Host,不叫Server.我们可以用这个peer得到全部的设备列表
大道理谁都懂.不就是所谓的CS嘛.但是这里的CS还不太一样.简单的P2P连接,这个成为Host,不叫Server.我们可以用这个peer得到全部的设备列表
MS的例子写的超级麻烦.这里简化一下.(看微软的,要看将近1000行)
实在是简单的不得了,所以就不解释了,自己看看ServiceProviderInformation的其他属性,比如那个guid,OK 这个完了就进行下一步
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim p As New Peer 'new 一个点,也可以叫做连接,功能多多,以后慢慢来,你现在理解成winsock控件就可(暂时这么理解)
Dim ProviderInfo() As ServiceProviderInformation '就是设备列表数组
ProviderInfo = p.GetServiceProviders(True) '看看能得到多少,True 表示得到全部
Dim pi As ServiceProviderInformation
For Each pi In ProviderInfo
ListBox1.Items.Add(pi.Name)
Next
End Sub
出处:https://www.cnblogs.com/a11s/archive/2005/11/01/266371.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式