你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / 数据库开发
.net中PNRP编程实现
 

一、P2P资源发布过程
资源发布就是资源所有者向P2P网络云中注册资源的过程,它分为以下3个步骤。

(1)  创建一个P2P关键词对象

(2)  创建一个关联到指定云的注册对象,

(3)    进行注册

下面的代码演示了如何向所有可用云中注册“0.text”这个名称,并将这个名称关联到本机的6000端口(通常同时监听这个端口,以响应资源访问者的请求)的过程

PeerName  pn = new PeerName("test", PeerNameType.Unsecured);

PeerNameRegistration  pnr = new PeerNameRegistration(pn, 6000,   Cloud.Available);

pnr.Start();

二、要撤销已发布到云中的资源,只需要调用注册对象的stop方法,代码如下。
pnr.Stop();

三、资源的发现就是在云中搜索指定的关键词,分以下三个步骤。
(1)  .创建一个待搜索的名称对象。
(2) .创建一个名称解释器对象。
(3) .从指定云中检索此名称对象。
•下面代码演示了如何从所有可用云中检索名称“0.test”的过程,此过程最多返回10条符合要求的记录。
PeerName  searchname =new PeerName("0.test");

PeerNameResolver  resolver = new PeerNameResolver();

PeerNameRecordCollection  results= resolver.Resolve(searchname, Cloud.Available,10);

四、按P2P名称检索到相应的资源名称后,假设保存在results集合对象中,通过以下方法就可以获取此名称对应的资源了。
foreach (PeerNameRecord record in results)

            {

                //获取资源所在的位置

                foreach(IPEndPoint endpoint in record.EndPointCollection)

                {

                //对方通常在监听这个IPEndPoint,与之发起连接即可与之通信或其它交互了

          }

  //获取资源对应的数据

  byte[] remoteresource=record.Data;

            }

五、要成功运行这些代码,XP系统必须要进行一个简单的配置,也就是在“添加删除windows组件”中的网络服务里面添加“点对点服务”,如果是windows 7以上的系统,则不用进行任何配置。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089