×

学习笔记,VB.NET实现DirectPlay (1) 枚举设备

Kalet Kalet 发表于2009-03-20 12:00:13 浏览224 评论0

抢沙发发表评论

 很久没更新自己的Blog了,一开始主要是因为考学,后来又是站点,然后就是比较懒,还有CSDN的Blog经常挂…现在写blog都要先用word保存以防不测…
DirectDraw就写了两个,仍需继续努力啊.可是最近对D3D的Sprite有点感兴趣.可能忍痛就不去捣鼓那个了,毕竟,微软以后就有可能不再对它提供支持了.悲哀啊…DPlay也是..目前还是DPlay8的核心,没有DPlay9同样个个方法都标注了警告信息,过时的.但是对于.net 1.1来说我们还能继续发挥它的余热(废话,毕竟是封装好了的,自然有方便的地方)
直接看Sample有点困难,最终还是从Tutorial 1 开始.搜索DPlay的东西真的很困难.还是那句话,大言不惭的美其名曰:填补国内空白!

学习笔记,VB.NET实现DirectPlay (1) 枚举设备
Part 1: 得到目前可能使用的连接方式


比如 网卡 调制解调器 IPX 等等,虽然貌似只有IPX跟TCP比较有用.但是DPlay封装的结果就是不用关心底层.也就是说 理论上可以用任何方式连接你的HOST 或者 Server.



  大道理谁都懂.不就是所谓的CS嘛.但是这里的CS还不太一样.简单的P2P连接,这个成为Host,不叫Server.我们可以用这个peer得到全部的设备列表


MS的例子写的超级麻烦.这里简化一下.(看微软的,要看将近1000行)


实在是简单的不得了,所以就不解释了,自己看看ServiceProviderInformation的其他属性,比如那个guid,OK 这个完了就进行下一步



  大道理谁都懂.不就是所谓的CS嘛.但是这里的CS还不太一样.简单的P2P连接,这个成为Host,不叫Server.我们可以用这个peer得到全部的设备列表


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        Dim p As New Peer 'new 一个点,也可以叫做连接,功能多多,以后慢慢来,你现在理解成winsock控件就可(暂时这么理解)

学习笔记,VB.NET实现DirectPlay (1) 枚举设备

        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

学习笔记,VB.NET实现DirectPlay (1) 枚举设备
End Sub


群贤毕至

访客