为什么用emule下载时 刚开始很快 到后来越来越慢 直至下载速度为0谢谢了,大神帮忙啊
2个回答
展开全部
edonkey是建立在点对点(peer2peer)技术上的文件共享软件。它与传统文件共享的区别是:共享文件不是在集中的服务器上等待用户端来下载,而是分散在所有参与者的硬盘上。所有参与者组成一个虚拟网络,每个用户端都可以从这个虚拟网络里的任何一个人的机器里下载文件!同时每个人也可以把自己的文件共享给任何人。 在edonkey体系里有一些服务器,不过这些服务器不再存放文件,而是存放这些共享文件的目录或地址。每个用户端从服务器处得到或搜索到共享文件的地址,然后自动从别的客户端处进行下载,参与的客户端越多,下载的速度越快。 eMule只是eDonkey的一个Mod,就象osp就是quake3的mod一样。而且eMule的原代码是完全公开的。 2、edonkey下载原理 当你在搜索列表中选取了你要的文件并开始下载后,eDonkey会记录下这个文件的大小,文件名以及另一个叫做hash的特殊值。说得更确切一些,是一个MD4的hash值。这个值是根据你要下载的文件本身的内容计算得来,它可以让你知道你正在下载的文件是不是就是你所想要的。尤其是在文件的其他属性被更改之后(如名称等)这个值就更显得重要。edonkey软件得到了这个信息后,会向所有添加的服务器发出请求,要求得到有相同hash值的文件。而服务器则返回持有肢瞎这个文件的用户信息。这样我们的客户端就可以直接的和拥有那个文件的用户沟通,看看是不是可以从他那里下载所需的文件。而eDonkey最棒的部分就在于:你不是只在一个用户那里下载文件,而是同时从许多个用户那里下载文件。如果另一个用户仅仅只有你要的文件的一个小小片断,他也会自动地把这个片断分享个大家,而你就可以从这个用户的机器上下载这个片断。当然你也是一样。只要你得到了一个文件片断,系统就会把这个片断共享给大家。 3、edonkey工作原理 eDonkey2000建立于多点文件传输协议之上。一个donkey网络由服务器端和客户端两部分组成。服务器端是客户端连接的、为了搜索和查找可以下载用户的桥梁。服务器列表像电话本一样排列,客户通过浏览它而获取他需要的文件所有者的客户端信息。在download过程中,没有下载文件通过服务器端。 Searching:每一个客户端连接到一个服务器作为他的主服务器。在连接时,由客户端告诉主服务器他share了那些文件,以及IP地址等其他信息。所以每一个服务器会记录所有登陆到他服务器上的以上信息。在本服务器搜索时,它会通过匹配记录的已知以上信息把查找结果反馈给搜索的客户端列表。当你使用扩展搜索(extend search)时,你的搜索请求和应答结果通过发送限制带宽的UDP包连接到客户端本身的服务器列表(server.met)对应的某一个ip地址的服务器。 Downloading:当客户端选择了一个文件下载时,它首先收集一个拥有该文档的客户端的列表。它会先行查询主服务器所有登陆用户他们是否拥有该文件。然后再连接和查选其他服务器的登陆用户所拥有该文件的客户端列表。一旦它找到拥有该文件的其他客户端,它将请求每个客户端发送这个文件的不同片。直至最后文件由这个不同的片组装成一个完整的文件。 在查找到下载源(其他客户端)后,下载就是客户端和客户端通过点对点(P2P)进行直接对话了。期间没有数据流通过服务器。 在进行pause/resume的时候,我们选择的下载历带空列表已经获取,它pause的仅仅是客户端和客户端之间的TCP连接然后恢复TCP连接。这个过程只有再resume时通过客户端向服务器端发送22个字节后即可。占用的仅仅是22个字节的网络流量。在pause是甚至不通过你登陆的服务器进行,也无须你登陆的主服务器进行任何干预和操作。所以说,它并未占用主服务什么资源,只是在你已经行尘和主服务器连接的通道上发送22个字节而已。 3、edonkey 的优点 (1) 不需要服务器来存放共享文件,节省了服务器架设、海量硬盘、网络带宽。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询