
ed2k /emule/kad
文章平均质量分 90
曾经的Android开发
2016-2019 一直从事Android开发工作。
2019-至今 转行为事业单位
展开
-
eMule中的kad相关代码梳理
emule中的Kademlia代码总体描述当emule中开始使用Kademlia网络后,便不再会有中心服务器失效这样的问题了,因为在这个网络中,没有中心服务器,或者说,所有的用户都是服务器,所有的用户也是客户端,从而完完全全得实现了P2P。接下来讲针对emule中的Kademlia网络进行分析,将会根据emule中实现Kademlia所使用的不同的类分别进行讲述。其中:CKademli原创 2016-04-30 12:31:07 · 4365 阅读 · 3 评论 -
ed2k 中的信誉和分段机制代码梳理
信誉机制信誉机制在P2P系统中有非常重要的作用。为了使用户更加愿意共享自己的资源,需要有一些机制能够让对整个P2P系统贡献更大的用户有更多的激励。在emule中,激励机制的设计方案是tit-for-tat这种最直观的方案。这种方案的意义就是最简单的如果别人对你好,那么你也对别人好。 下面看实际的实现。CClientCreditsList和CClientCredits类负责emule中的原创 2016-04-30 12:26:42 · 1311 阅读 · 0 评论 -
ed2k 网络中搜索资源并选择资源下载的分析及eMule源码梳理
上一篇博客中,客户端已连接到ed2k网络及客户端与服务器交互的eMule源码梳理,这里将开始搜索资源并下载及客户端与客户端交互的eMule源码梳理搜索资源并下载,这是一个即包含和和服务器交互还包含与另一些客户端交互。所以会先说明和服务端交互的情况(搜索资源,选择资源),在说明下载(与客户端交互)。搜索资源是发送关键词到服务器,服务器会根据关键词返回信息,当然这些信息是通过消息传递的具体原创 2016-04-30 11:50:07 · 6208 阅读 · 0 评论 -
eMule连接到进ed2k网络分析
上一篇博客已经介绍eMule客户端的初始化过程及相关代码梳理,这里将接着介绍第二个步骤 连接到ed2k服务器 Emule 客户端使用场景分析,当我们要下载一个ed2k 文件时 ,可以分为以下几步:一 。启动emule客户端(这时候就开始初始化,主要是对Config文件夹下的文件(比如Server.met等)进行反序列化,生成相应实例,存储信息(包括ed2k服务器地址及端口号))。二原创 2016-04-29 21:37:21 · 6257 阅读 · 0 评论 -
eMule 的使用场景及初始化任务描述级eMule相关代码分析(仅涉及ed2k)
Emule 客户端使用场景分析,当我们要下载一个ed2k 文件时 ,可以分为以下几步:一 。启动emule客户端(这时候就开始初始化,主要是对Config文件夹下的文件(比如Server.met等)进行反序列化,生成相应实例,存储信息(包括ed2k服务器地址及端口号))。二. 客户端必须连上某个服务器(可能会从服务器列表中依次尝试,直到连上为止,连上以后客户端就加入了emule网络,成为协议节点)。三. 用户就向服务器传递ed2k连接(这是用户已知道ed2k连接的情况,如果用户不知道ed2k连接,就可原创 2016-04-29 21:06:16 · 2137 阅读 · 0 评论 -
eMule 协议中的一些基本概念
上篇博客中介绍了ed2k协议的一些背景记忆eMule的整体架构,这里主要说明几个基本概念以便于以后的分析。客户端ID 客户端是一个4字节的标识符,在跟服务器连接握手的时候由服务器提供的。客户端ID仅在客户端服务器TCP连接的生命期内可用,虽然如果客户端是高ID(High ID),它在任何服务器分配的客户端ID都一样,除非IP变化了。客户端ID分为低ID(low ID)和高I原创 2016-04-28 20:34:32 · 1374 阅读 · 0 评论 -
Ed2k协议背景介绍及eMule协议的整体架构
ed2k全称叫“eDonkey2000 network”,是一种文件共享网络,最初用于共享音乐、电影和软件。与多数文件共享网络一样,它是分布式的;文件基于P2P原理存放于用户的电脑上而不是存储于一个中枢服务器。eDonkey客户端程序连接到这个网络来共享文件。而eDonkey服务器作为一个通讯中心,使用户在ed2k网络内查找文件。它的客户端和服务端可以工作于Windows、Macintosh、原创 2016-04-28 20:11:22 · 12772 阅读 · 0 评论