《C网络应用编程》第10章 P2P应用开发技术.ppt
文本预览下载声明
10.2.4 PNRP名称注册与解析 名称解析: 名称解析是发现注册到群中的其他对等点,但是并不能够发现它自身。因此,我们需要重新打开一个命令行窗体,在新的命令行窗体中对指定名称的对等点进行解析。 命令格式:resolve peerName cloudName 参数说明: peername 要解析的PNRP名称 cloudName 可选参数,PNRP名称所属群,如不指定则在所有可用群查找 格式举例:resolve 0.testPeerName 10.3 Peer to Peer 名称空间 基本 System.Net.PeerToPeer命名空间 高级 System.Net.PeerToPeer.Collaboration 命名空间 部分仅仅适用于Vista操作系统 ? Peer Channel WCF 分布式程序框架 .NET .net Remotiong ? web Services ?安全性(WSE)? WCF Java Remote Method Invoke ? web Services 10.3 Peer to Peer 名称空间 System.Net.PeerToPeer是.NET FrameWork 3.5中提供的新增功能。在使用该名称空间时,要确保对使用的.Net框架为3.5版。 10.3.1 Cloud类 Cloud类常用的属性和方法有Global属性、AllLinkLocal静态方法和GetAvailableClouds静态方法。 Global 属性: 获取包含全局群信息的Cloud实例。 AllLinkLocal 静态方法: 获取当前所有链接-本地群实例。 GetAvailableClouds 静态方法: 可获取当前对等方所在的群的集合. 10.3.1 Cloud类 例 10-1 获取已知群信息 例10-1 运行效果 10.3.2 PeerName类 PeerName Endpoint PeerNameRecord 0.Somename + 10.3.2 PeerName类 创建对等名称 (1) public PeerName(string remotePeerName) 利用对等名字符串初始化PeerName类型的新对象,其中remotePeerName即对等名称字符串。例如: PeerName p = new PeerName(0.My PeerName); (2)public PeerName(String classifier, PeerNameType peerNameType) 创建一个新的PeerName类型的实例,并指定PeerName中的classifier为 Classifier节值, PeerNameType枚举值,指定要创建的对等名称类型。例 PeerName p = new PeerName(My PeerName, PeerNameType.UnSecured); 对于不安全的对等名,Authority 总是为字符 0。它等价于: PeerName p = new PeerName(0.My PeerName); 10.3.3 PeerNameRegistration类 实例化 PeerNameRegistration 对象将此名称与相关元数据关联。在发布一个名称时,可指定要将名称发布到哪个群 10.3.3 PeerNameRegistration类 设置关联信息 进行对等名称注册时,首先需要将PeerName对象和 IPEndPoint关联,并设定必要的注释信息。 指定群 在PNRP中,群定义了名称的注册及解析范围。注册时可通过设置PeerNameRegsitration对象的Cloud属性指定将对等名称注册到指定群,如果不设置则默认注册到所有可用群中。例如: peerNameRegistration.Cloud = Cloud. Global; 10.3.3 PeerNameRegistration类 完成注册 调用PeerNameRegistration对象的Start方法将对等名注册到指定的PNRP群中,以便其他对等节点可以解析该名称。一旦Start方法调用完成,该名称可以被群中的其他对等节点解析。 peerNameRegistration.Start(); 10.3.4 PeerNameResolver 类 PeerNameResolver 类 使用PNRP命名空间中的PeerNameResolver类可将PeerName解析为PeerNameRecord集合。 PeerNameRecord类 PeerNameRecord类包含了注册时指定的对等方名称、
显示全部