P2P服务及Guntella协议

我们前面已经了解了两种获取文件的方式:FTP 和 SMB,下面我们将学习第三种应用软件协议。现在,通过 Internet 共享文件已经很流行。通过基于 Gnutella 协议的 P2P 应用程序,人们可以将自己硬盘中的文件共享给其他人下载。通过与 Gnutella 协议兼容的客户端软件,用户可以在 Internet 上连接 Gnutella 服务,然后定位并访问由其它 Gnutella 对等设备共享的资源。

很多 P2P 应用程序并不使用中央数据库记录各个对等设备上的所有可用文件,而是让网络内的各个设备相互查询可用文件,并通过 Gnutella 协议和服务定位资源。请参阅图示。




    		    P2P服务及Guntella协议

当用户连接了 Gnutella 服务时,客户端应用程序将检索可连接的其它 Gnutella 节点。这些节点将查询资源位置并回复请求。此外,它们还管理控制信息,以便服务查找其它节点。实际的文件传输过程往往基于 HTTP 服务。
Gnutella 协议中定义了五种不同类型的数据包:
  • ping — 用于查找设备
  • pong — 用于回复 ping
  • query — 用于定位文件
  • query hit — 用于回复 query
  • push — 用作请求下载

本文出自 “07net01” 博客,请务必保留此出处http://07net01.blog.51cto.com/1192774/566801

更多相关文章
  • Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似. 实现动画有两种方式:一种使用XML文件(文件放在res/anim),一种直接代码 ...
  • paip.软件版本完善计划VC423   1.speed 2.ini tray  tray trc4 = new tray(this, floatForm1);   ver kunlun   3.per thread try catch   verkunlun   4.program try cat ...
  • 为支持MVC的验证,无刷新查询,EF,以及让代码可读性更强一点,所以就重构了下原来的解决方案. 这里就简单讲下使用方法吧: Model: 继承PagerBase: 1 public class SearchModel : PagerBase 2 { 3 public SearchModel() 4 ...
  • 这是一篇极度体现老板人品的文章,短小,但是句句戳人心,它毫不吝啬地赞美出手阔绰的“创业英雄”Nevzat Aydin.他在卖掉自己公司之后,拿出了 2700 万美元作为奖金分给了 114 名员工,相当于一个普通员工 150 个月的工资.他说:“要是没有这么多员工帮衬我,我不可能把公司做到这样的程度. ...
  •   本人最近在分析天天团购源码,但是里面各种的require_once让我有些崩溃,于是在网上找了一些   源程序分析的方法.见下   一.先把源代码安装起来,结合它的文档和手册,熟悉其功能和它的应用方式. 二.浏览源代码的目录结构,了解各个目录的功能. 三.经过以上两步后相信你对这个开源的产品有了 ...
  • 前面介绍了Chrome开发者工具的大部分内容工具,现在介绍最后两块功能Audits和Console面板.一.Audits Audits面板会针对目前网页提出若干条优化的建议,这些建议分为两大类,一类是网络加载性能,另一类是界面性能.首先开下它的主界面. Audits面板的网络优化建议参照的是雅虎前端 ...
一周排行
  • 步骤 3:恶意软件分析    控制恶意软件攻击的传播后,必须花些时间了解突发的本质并对恶意软件执行更详细的分析.不执行该步骤可以增加再次感染的可能性:不了解恶意软件的工作方式将无法确保系统已被清理并可以免遭未来的攻击 ...
  • 1,先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/in ...
  • 之前很多朋友一直都在说想知道Exchange和Lync 2013集成能够做到什么效果,并且在单独部署Lync的环境有一定的问题,比如用户头像的问题.当然我们更多的是希望去使用一些比较有意义的功能,比如Exchange ...
  • python yeild 生成器 生成器函数在生成值后自动挂起并且暂停它的执行和状态(常常在从头计算整个系列的值或者手动保存和恢复类中的状态时,作为一种解决方案) 生成器在被挂起时自动保存状态,yield将函数挂起后 ...
  • IT时报   刘超 青岛的王先生日前登录视频网站酷6网时,发现账号提示强制升级成盛大通行证号."大概一个月前,我登录酷6时输入账号和密码时总是报错,反复试了几次还是不行,由于经常上酷6上传视频,当时很着急, ...
  • 对于新的无线技术,我一直都很赞成.我也很赞成WiMAX(它是微波存取全球互通的简称),但是却很难说清楚这项技术要朝什么方向发展. 几年过去后,我所听到看到的只是蓝牙首次出现时得到的苛刻的批评.许多人称蓝牙为半路夭折的 ...
  • 由 NSFoundationVersionNumber 可以获取到系统的版本号,需要加入 #import <Foundation/Foundation.h> 系统中的各个版本对应一个double数. 比如 ...
  •      从今天开始,就要好好的,高效的学习一下数据库啦,主要使用sqlsever2000,前期的视频教程我没看完呢还,所以说我要信心满满的哈~~      听师哥说,这个数据库是基础,我们更要好好的学习一下,基础要 ...
  • 第二章 操作系统结构 在具有多个命令解释程序选择的系统中,解释程序被称为外壳(shell) 命令解释程序的主要作用是获取并执行用户指定的下一条命令. 有三种应用程序员常用的API,适用于windows系统的win32 ...