一、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以上的系统,则不用进行任何配置。
如对本文有疑问, 点击进行留言回复!!
mysql中如何实现 row_number分组求topN的功能
SQLSERVER中RANK OVER(PARTITION BY)的用法
Kaspersky Endpoint Security 10 for Windows version 10.2.6.3733 is no longer supported
网友评论