![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
vc
文章平均质量分 77
iteye_19137
这个作者很懒,什么都没留下…
展开
-
emule源代码解析(一)
eMule的官方首页上写着:2002年05月13日 一个叫做 Merkur 的人,他不满意原始eDonkey2000客户端并且坚信他能够做的更好,所以他开始制作。他聚集了其它开发人员在他的周围,并且eMule工程就此诞生。eMule是一个典型的MFC程序,它的图形界面等,已经和MFC紧紧融合到了一起。因此通常情况下它只能在windows平台下运行。有一些其它的工程,如aMule等,把它进行...原创 2009-08-04 09:40:00 · 115 阅读 · 0 评论 -
emule源代码解析(二)
1,分块机制——正确传输资源的保证继续解析CKnowFile类为了加快内容分发的速度,分块处理是一种简单有效的方法。emule中对每个文件都进行了分块处理。另外分块还有一个好处就是如果保留了每一分块的hash值,就能在只下载到文件的一部分时判断出下载内容的有效性。emule在获取每个共享文件的信息时,就对它进行了分块处理,因此如果要知道emule中的分块处理和恢复机制,看C...原创 2009-08-04 09:41:25 · 88 阅读 · 0 评论 -
eMule源代码解析(三)
搜索信息集-CSearchListCSearchList是emule中的搜索列表,掌管emule中所有的搜索请求。CSearchFile是这个列表中的元素,代表了一次搜索的相关信息。它们的关系和之前描述的已知文件和已知文件列表有一些类似的地方。CSearchList的主要任务就是对其一个叫做list的类型为CSearchFile列表的内部变量进行维护,提供很方便得往这个列表中添加,删除,查...原创 2009-08-04 09:44:05 · 100 阅读 · 0 评论 -
eMule源代码解析(四)
emule中的信誉机制信誉机制在P2P系统中有非常重要的作用。为了使用户更加愿意共享自己的资源,需要有一些机制能够让对整个P2P系统贡献更大的用户有更多的激励。在emule中,激励机制的设计方案是tit-for-tat这种最直观的方案。这种方案的意义就是最简单的如果别人对你好,那么你也对别人好。下面看实际的实现。CClientCreditsList和CClientCredits类负...原创 2009-08-04 09:45:07 · 94 阅读 · 0 评论 -
eMule源代码解析(五)
emule中的Kademlia代码总体描述当emule中开始使用Kademlia网络后,便不再会有中心服务器失效这样的问题了,因为在这个网络中,没有中心服务器,或者说,所有的用户都是服务器,所有的用户也是客户端,从而完完全全得实现了P2P。接下来讲针对emule中的Kademlia网络进行分析,会有一节进行原理方面的分析。另外的几节将会根据emule中实现Kademlia所使用的不同的类分...原创 2009-08-04 09:47:09 · 90 阅读 · 0 评论 -
eMule源代码学习心得
1, eMule源代码学习心得(1):eMule代码的总体风格和其它相关工程eMule的官方首页上写着:2002年05月13日一个叫做Merkur的人,他不满意原始eDonkey2000客户端并且坚信他能够做的更好,所以他开始制作。他聚集了其它开发人员在他的周围,并且eMule工程就此诞生。eMule是一个典型的MFC程序,它的图形界面等,已经和MFC紧紧融合到了一起。因此通常情况...原创 2009-08-04 10:47:40 · 140 阅读 · 0 评论