eMule Copyright (C)2002-2003 Merkur ([email protected])
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 675 Mass
Ave, Cambridge, MA 02139, USA.
-------------------------------------------------------------------------------
Welcome to eMule, a filesharing client based on the eDonkey2000(C) network.
Visit us at
http://www.emule-project.net
and
http://sourceforge.net/projects/emule
or
the IRC chatroom, #emule on irc.emule-project.net
Please remember that this is an early version, not all features are
implemented yet, and not everything might work as expected.
Visit our forum for bugreports, feature requests, development or general
dicussion.
If you have questions or serious problems, please read the FAQ first :) It can
be found at www.emule-project.net. A small collection of questions is also
discussed later in this document.
If you didn't find an answer, SEARCH the forum for a topic related to your
problem, DO NOT open a new topic at once, most likely someone else had the
same problem before.
The official Forum is also at http://www.emule-project.net Please use only
English there, except for the language-specific sections. (PLEASE do not
report bugs that are already posted by someone else, and keep the "Bug
Reports", "Feature Requests" and "Development" sections clean and shiny)
Would you like to donate to the eMule project? A PayPal link can be found on
the portal page (www.emule-project.net) Thanks ;)
INSTALLATION:
-------------
-Unzip eMule to a directory of your choice, or start the installer if you
downloaded the .exe installer version.
-You can move your "Temp" and "Incoming" folders from eDonkey (or a previous
version of eMule) to the new directory now, in order to continue your partial
downloads. If you don't want to move your folders, you can set the "temp" and
"incoming" path in the eMule preferences and restart it to get the same
result.
-Updating from an earlier version of eMule: The best way to do this is simply
to download the .zip file (not the installer), and unzip the new emule.exe to
your old emule directory, overwriting the previous one.
CONFIGURATION:
--------------
-Go to the "Preferences" tab
-Enter a nice nickname ;)
-Enter the "Download Capacity" and "Upload Capacity" according to your
internet connection. All values in eMule are kiloBytes (KB), your Internet
Service Provider's (ISP) numbers are most likely kiloBits (kB). 8 Bits make up
1 Byte, so when your Internet Connection is 768kB Downstrean and 128kB
Upstrean (like German Telekom DSL), your correct values are:
Downstrean: 768kB / 8 = 96KB, you enter 96 as "Download Capacity"
Upstream: 128kB / 8 = 16 KB, you enter 16 as "Upload Capacity"
The "capacity" values are used for the statistics display only. Nevertheless,
you need to know them to determine the following down/upload limits:
-Enter "Download Limit" and "Upload Limit" (IMPORTANT!)
Download Limit: leave this at 0 (should eMule become too fast and you are
unable to surf the Internet or whatever, reduce it to 80-90% of "Download
Capacity")
Upload Limit: set this to ~80% of your "Upload Capacity" (so when your Upload
Capacity is 16, set Upload Limit to 12 or 13)
Setting Upload Limit to a value < 10 will automatically reduce your Download
Limit, so upload as fast as you can.
NOTE: 56k Modem users: eMule only accepts integral values for these settings
at the moment, you can't enter 2.6 or whatever your sweet-spot setting is,
yet. Sorry :) Maybe later..
-"Maximum Connections": depends on your operating system. As a general rule...
-Windows 98/ME (and 56k Modem/ISDN) users enter 50 here
-Windows 2000/XP users should set this according to their
Internet Connection. 250 is a good value for 128k upstream connection,
for example. DO NOT set this too high. It will kill your upload and with
that, your download.
-"Maximum Sources per File": decide for yourself how many you want :) when you
set this too high, your computer might slow down drastically or even crash.
500-1000 are good values for people with DSL/cable connection.
-Choose the directories you want to share with other users. DO NOT SHARE YOUR
COMPLETE HARDDISK! Put the stuff you want to share in a seperate Folder. If
you share more than ~200 files, you should reconsider that...
-The other options are pretty self-explaining. If you dunno what it does,
don't touch it.
FAQ: (for more, see http://www.emule-project.net/faq/ )
----
--"Will I lose my credits when switching to a new version of eMule?"
Not when move your old preferences.dat (your user ID) and clients.met (other
people's credits) files to the directory you installed the new version in.
The best way to update is just to replace your old emule.exe with the new one
from the .zip download.
--"Why is eMule so slow? My brother/friend/whatever is downloading at 100K constantly"
When you did setup eMule properly, it's all about the availibility of the
files you are downloading, a bit of luck and a lot of patience ;)
--"Where can I get a new serverlist?"
There are several lists availible. Some that I know of are:
-http://www.thedonkeynetwork.com
-http://ed2k.2x4u.de
Note that those sites are not related to the eMule project, we are not
responsible for their content.
--"What is the adresses.dat file for?"
You can enter a serverlist URL in that file. eMule will then get the
serverlist from that URL at startup (when the option "Auto-update serverlist
at startup" is activated)
--"What is the staticservers.dat file good for?"
You can enter your favorite servers here to have them permanently in your
serverlist with high priority. You can enter the static IP of the server, or
an adress like goodserver.dyndns.net. You can also add static servers to this
file via the server tab in eMule (right-click -> add to static serverlist)
--"Why do I always have a low ID (means: firewalled) ??? What can I do against that?"
Look here: http://www.emule-project.net/faq/ports.htm
--"How do I know whether my ID is high or low?"
Look at the arrow in the bottom right corner, next to the server name you are
connected to. When it's green, your ID is high. When it's orange, your ID is
low.
--"What does high and low ID mean anyway?"
When your ID is high (green arrow), everything is fine :) When it's low
(orange arrow), you are behind a firewall or router, and other clients can't
connect to you directly (which is a bad thing). Plz read the FAQ or search
the forums on how to configure your firewall/router for eMule.
NOTE: you can also get a low ID when the server you connected to is too busy
to answer properly, or simply badly configured. When you are sure your
settings are ok and you SHOULD have a high ID, connect to antoher server.
--"What is the difference between up/down CAPACITY and LIMIT?"
The CAPACITY is used only by the statistcs tab to determine the vertical
limits of the diagram. The LIMITS set the actual network traffic limits (see
configuration notes).
--"I'd like to search for specific file types, what filter stands for which files
电驴源代码
需积分: 0 43 浏览量
更新于2007-08-21
1
收藏 1.45MB RAR 举报
《电驴源代码解析与学习指南》
电驴,全称eDonkey2000,是一款历史悠久的P2P(peer-to-peer)文件共享软件,它的源代码开放,为开发者提供了一个深入理解P2P网络协议和技术实现的宝贵资源。在本文中,我们将深入探讨电驴源代码中的关键知识点,帮助你更好地理解和学习这一技术。
一、P2P网络基础
电驴基于P2P网络架构,其中每个节点既是服务器也是客户端,实现了文件的分布式共享。这种网络模式的优点在于其去中心化特性,能够承受大量并发连接,且不易因单一节点故障而导致服务中断。
二、电驴协议
电驴协议是电驴软件运行的基础,包括搜索、下载、上传等功能。它采用混合型协议,结合了HTTP和Kademlia算法,使得文件搜索更高效,同时支持多点对多点的传输,提高下载速度。
三、源码结构
电驴源代码通常包含以下几个主要部分:
1. 用户界面:负责交互,如文件浏览、搜索、下载设置等。
2. 网络通信模块:实现电驴协议,处理数据传输和连接管理。
3. 数据存储:管理本地文件,如下载队列、已完成的文件等。
4. 搜索机制:通过P2P网络搜索文件信息。
5. 共享机制:管理用户上传的文件,维护文件的元数据。
四、关键算法
1. 文件分块:电驴将大文件分割成小块,便于多点下载,提高速度和稳定性。
2. 哈希校验:通过MD5或SHA哈希值确保文件完整性。
3. 网络路由:Kademlia算法用于节点定位,优化搜索效率。
五、学习电驴源代码的价值
1. 理解P2P网络:通过分析源代码,可以深入了解P2P网络的工作原理。
2. 文件分享机制:学习如何设计和实现高效的文件分享系统。
3. 并发与性能优化:电驴源码中涉及大量并发处理,是研究高性能网络编程的实例。
4. 安全性:了解如何保证文件传输的安全性和完整性。
六、实际应用
1. 开发新P2P应用:电驴源代码可作为开发类似文件分享软件的基础。
2. 学术研究:对于网络协议、分布式系统的研究者,电驴源代码是宝贵的实验素材。
通过深入学习电驴源代码,不仅可以提升你的编程技能,还能对P2P网络有更深入的理解,为未来的项目开发和研究打下坚实基础。记住,学习源代码的过程不仅是阅读代码,更是理解背后的设计思想和工程实践,这样才能真正从中受益。

cn_smallwoodly
- 粉丝: 0
最新资源
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于Java的mp3播放器源代码.zip
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于J2ME的Java游戏梦幻炸弹人源程序.zip
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于JAVA的日程提醒簿.zip
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于MVC的Java资源管理器 v2.0.zip
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于Java的小型人事管理系统,带数据库.zip
- 国内城建工程项目管理要点研究.docx
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于smpp协议的Java点对点短信发送源码包.zip
- java源码包JSP实例源码JAVA开发学习设计参考源代码-基于Java的邮件服务器源程序.zip
- 基于遗传算法旋转机械系统的被动平衡.doc
- 构建信息化校园实现跨越式发展.docx
- (源码)基于AVR和Python的足球桌进球检测系统.zip
- 人工智能将统治地球?.docx
- ARM-ASM-汇编语言资源
- 媒体信息处理技术与制作软件.ppt
- JSP音乐搜索软件的设计方案与实现.doc
- 光纤通信技术实验研究报告掺铒光纤激光器.doc