您的位置:首页 > 产品设计 > UI/UE

July 24th Tuesday (七月 二十四日 火曜日)

2007-08-04 17:25 288 查看
  How to a eMule client establish a connection to a server?  A eMule client tries to establish connection
to servers in parallel.  If one of servers is established connection successfully, the others will be
abandoned.

  Each eMule client is pre-configured with a list of servers and a list of shared files on its local
file system.  A client uses a single TCP connection to an eMule server for logging into the network,
getting information about desired file and available clients.  The eMule client also uses serveral
hundreds of TCP connections to other clients which are used to upload and download files.  Each eMule
client maintains an upload queue for each of his shared files.  Downloading clients join the queue at
its bottom and advance gradually until they reach the top of the queue and begin downloading his file.
A client may download the same file from several other eMule clients, getting different fragments from
each on.  A client may also upload chunks of a file which it has not yet completed downloading.  Finally,
eMule extends the eDonkey capabilities and allows clients to exchange information about servers, other
clients and files.  Note that both client and server communication is TCP based.

  The server employs an internal database in which it stores information about clients and files.  An eMule
server doesn't store and files, it acts as a centralized index of storing information about the location
of files.  An additional function of the server, which is becoming deprecated, is to bridge between clients
that connect through a firewall and are not able to accept incoming connections.  The bridging functionality
increases considerably the server load.  eMule employs UDP to enhances the client's capabilities against
both the server and other clients.  The client's ability to send and receive UDP messages is not mandatory
for the client's correct daily operation and it would function flawlessly when a firewall prevents it from
sending and receiving UDP messages.
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息