[bittorrent] partial download
torrent at blinkenlights.ch
Sun Nov 15 15:33:58 EST 2009
> Actually, I am trying to modify the code of bittorrent v3.3 to implement the
> partial download. ( for the experiment of paper )
If you do not need to use the 'reference-implementation' (aka mainline) you could just
use some other commandline-client wit file-selection support such as
Bitflu (my client: http://bitflu.workaround.ch) or rTorrent (http://libtorrent.rakshasa.no/)
> a only downloading pieces from file a, the same for peers interested in file
> b. once it got the file a or file b, it will leave.(selfish)
No, this is not true and does not happen in 'real life':
Let's say we got 3 peers: A, B and AB where only AB is a seeder:
All peers might be connected to eachother:
--> AB <--
A <-----> B
A does not know that B will never-ever try to download data from it nor does it
know that B will never be able to send any data to A (because B does not download
the chunks needed by A)
So what will happen to the connection A<->B ? It won't get killed but instead
it will just time-out because no 'interesting' traffic is happening between
this 2 peers.
> 1. each time the remote peer wants to communicate(send data) with local
> peer, it will send handshake message and bitfield and other message to the
> local peer although the tcp connection is established already, right ?
No. The Handshake is done while establishing a connection. It will not be
re-done as long as the TCP-Connection stays established.
The transfered bitfield will get updated with HAVE-messages.
More information about the BitTorrent