- 博客(11)
- 资源 (5)
- 收藏
- 关注
原创 eMule中的kad相关代码梳理
emule中的Kademlia代码总体描述当emule中开始使用Kademlia网络后,便不再会有中心服务器失效这样的问题了,因为在这个网络中,没有中心服务器,或者说,所有的用户都是服务器,所有的用户也是客户端,从而完完全全得实现了P2P。接下来讲针对emule中的Kademlia网络进行分析,将会根据emule中实现Kademlia所使用的不同的类分别进行讲述。其中:CKademli
2016-04-30 12:31:07 4241 3
原创 ed2k 中的信誉和分段机制代码梳理
信誉机制信誉机制在P2P系统中有非常重要的作用。为了使用户更加愿意共享自己的资源,需要有一些机制能够让对整个P2P系统贡献更大的用户有更多的激励。在emule中,激励机制的设计方案是tit-for-tat这种最直观的方案。这种方案的意义就是最简单的如果别人对你好,那么你也对别人好。 下面看实际的实现。CClientCreditsList和CClientCredits类负责emule中的
2016-04-30 12:26:42 1217
原创 ed2k 网络中搜索资源并选择资源下载的分析及eMule源码梳理
上一篇博客中,客户端已连接到ed2k网络及客户端与服务器交互的eMule源码梳理,这里将开始搜索资源并下载及客户端与客户端交互的eMule源码梳理搜索资源并下载,这是一个即包含和和服务器交互还包含与另一些客户端交互。所以会先说明和服务端交互的情况(搜索资源,选择资源),在说明下载(与客户端交互)。搜索资源是发送关键词到服务器,服务器会根据关键词返回信息,当然这些信息是通过消息传递的具体
2016-04-30 11:50:07 5799
原创 eMule连接到进ed2k网络分析
上一篇博客已经介绍eMule客户端的初始化过程及相关代码梳理,这里将接着介绍第二个步骤 连接到ed2k服务器 Emule 客户端使用场景分析,当我们要下载一个ed2k 文件时 ,可以分为以下几步:一 。启动emule客户端(这时候就开始初始化,主要是对Config文件夹下的文件(比如Server.met等)进行反序列化,生成相应实例,存储信息(包括ed2k服务器地址及端口号))。二
2016-04-29 21:37:21 5930
原创 eMule 的使用场景及初始化任务描述级eMule相关代码分析(仅涉及ed2k)
Emule 客户端使用场景分析,当我们要下载一个ed2k 文件时 ,可以分为以下几步:一 。启动emule客户端(这时候就开始初始化,主要是对Config文件夹下的文件(比如Server.met等)进行反序列化,生成相应实例,存储信息(包括ed2k服务器地址及端口号))。二. 客户端必须连上某个服务器(可能会从服务器列表中依次尝试,直到连上为止,连上以后客户端就加入了emule网络,成为协议节点)。三. 用户就向服务器传递ed2k连接(这是用户已知道ed2k连接的情况,如果用户不知道ed2k连接,就可
2016-04-29 21:06:16 1923
原创 eMule 协议中的一些基本概念
上篇博客中介绍了ed2k协议的一些背景记忆eMule的整体架构,这里主要说明几个基本概念以便于以后的分析。客户端ID 客户端是一个4字节的标识符,在跟服务器连接握手的时候由服务器提供的。客户端ID仅在客户端服务器TCP连接的生命期内可用,虽然如果客户端是高ID(High ID),它在任何服务器分配的客户端ID都一样,除非IP变化了。客户端ID分为低ID(low ID)和高I
2016-04-28 20:34:32 1216
原创 Ed2k协议背景介绍及eMule协议的整体架构
ed2k全称叫“eDonkey2000 network”,是一种文件共享网络,最初用于共享音乐、电影和软件。与多数文件共享网络一样,它是分布式的;文件基于P2P原理存放于用户的电脑上而不是存储于一个中枢服务器。eDonkey客户端程序连接到这个网络来共享文件。而eDonkey服务器作为一个通讯中心,使用户在ed2k网络内查找文件。它的客户端和服务端可以工作于Windows、Macintosh、
2016-04-28 20:11:22 12066
转载 音频压缩工具——Speex的使用
尊重原创,这篇文章是我转载的原文地址 http://blog.csdn.net/xyz_lmn/article/details/8013490 *********************************************************************** * 转载务必在明显处注明:http://blog.csdn.net/xyz_lmn
2016-04-26 21:15:45 1212
原创 Android 开发 voip/sip 程序
首先说明一下相关概念,voip 和Sip ,voip的意思是网络电话,会话发起协议(SIP)是建立VOIP连接的IETF标准。SIP是一种应用层控制协议,用于和一个或多个参与者创建、修改和终止会话。SIP的结构与HTTP(客户-服务器协议)相似。客户机发出请求,并发送给服务器,服务器处理这些请求后给客户机发送一个响应。该请求与响应形成一次事务,sip协议主要是基于udp的传输方式(语音数据),
2016-04-26 17:30:25 16862 12
原创 Android从1.0到 6.0各版本的差别
Android 系统从2008年到现在(2016年4月),八年时间里版本从1.0一直升到6.0,由于Android系统更新速度快,导致市面上的Android设备运行的Android系统版本不一(专业术语叫碎片化严重)从图中可以知道目前主流的系统是三款,但是还是有些版本的系统还在使用,作为Android程序开发者,必须尽量照顾到各种版本的系统,否则你提出的解决方案是不完善的,对于Android开发者来说,很有必要知道android各个版本的特性,这样才能制定出更完备的软件开发方案。这样才能开发出可以稳定运行在
2016-04-26 17:17:32 42932
原创 html5 在Android 开发中的应用
这篇文章主要是说明以下几个问题:1.Android 开发中使用网页的优点和缺点。2.Android开发中哪些情况适合使用网页,哪些情况不适合使用网页。3.html5网页与普通网页的区别。4.Android 开发中使用常规网页和使用html5的区别。5.html5在Android开发中最常用的两段代码
2016-04-26 15:17:51 2040
emule开源代码
2016-04-29
Android SipDemo( 网络电话的例子源码,android 2.3以上才能用)
2016-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人