<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The BitTorrent Protocol</title>
	<atom:link href="http://www.morehawes.co.uk/the-bittorrent-protocol/feed" rel="self" type="application/rss+xml" />
	<link>http://www.morehawes.co.uk</link>
	<description></description>
	<lastBuildDate>Fri, 26 Feb 2010 01:41:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Edhomer</title>
		<link>http://www.morehawes.co.uk/the-bittorrent-protocol/comment-page-1#comment-1</link>
		<dc:creator>Edhomer</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.morehawes.co.uk/cms/the-bittorrent-protocol#comment-1</guid>
		<description>Thanks you for the site. Very informative and nicely written.

I have a question about the data exchange between peers. Does the tracker manage to inform all the peers about the availability of pieces? Or the info is exchanged directly between peers?

It seems the http request (URL) from peer to tracker does not have the field for the availability of pieces. Maybe I missed something. Look forward to share your insight.

Many thanks.</description>
		<content:encoded><![CDATA[<p>Thanks you for the site. Very informative and nicely written.</p>
<p>I have a question about the data exchange between peers. Does the tracker manage to inform all the peers about the availability of pieces? Or the info is exchanged directly between peers?</p>
<p>It seems the http request (URL) from peer to tracker does not have the field for the availability of pieces. Maybe I missed something. Look forward to share your insight.</p>
<p>Many thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ZedMob</title>
		<link>http://www.morehawes.co.uk/the-bittorrent-protocol/comment-page-1#comment-2</link>
		<dc:creator>ZedMob</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.morehawes.co.uk/cms/the-bittorrent-protocol#comment-2</guid>
		<description>
This is exactly the information i was looking for about torrent protocol. Took me days to find it.

Edhomer to reply to your question. When you create a torrent file you give it a tracker adresse http://mytracker.com/announce.php.
Anytime someone start this torrent it goes to the tracker look for a list of peer that have the file.

This is where i am at. Ok just to let you know what im doing so every one know what i mean. I am making a php torrent tracker. A brand new one from nothing.

This article is very helpfull by the way. So now i manage to get my peer (Bit Torrent for the record) to contact my announce.php page. I have made 2 test and i log the result in a txt file. The first peer(Bit torrent) is the seed of the file. The second one is BitComet and is a leacher. I open my torrent file from both of them and they both reach my announce page.

Both send me the same crypted key. Good its the same file. they send me the peer_id and a key with a port number. Both of them send me this information. Of course not the same key and peer id. The only diffrence is that the one that is the seed as the event set to started.

What does this started mean. This is the seed. so does it mean that the file on this peer is started. however i dont know yet if the file is complete. would it be after a first response from the tracker?

Now im looking for more information about the actual transfer between the peer and the tracker. Im still working on figuring out what to reply to the tracker. Seem like you can return the reply on one single line that woud looke like for each valur replyed
:String
d5:hello

No i guess i have to respect the order since they dont have tag. Another thing that suprise me is that i dont get any ip from the peer. Maybe il get one after a responce from the tracker, wich is what im working on right now.</description>
		<content:encoded><![CDATA[<p>This is exactly the information i was looking for about torrent protocol. Took me days to find it.</p>
<p>Edhomer to reply to your question. When you create a torrent file you give it a tracker adresse <a href="http://mytracker.com/announce.php" rel="nofollow">http://mytracker.com/announce.php</a>.<br />
Anytime someone start this torrent it goes to the tracker look for a list of peer that have the file.</p>
<p>This is where i am at. Ok just to let you know what im doing so every one know what i mean. I am making a php torrent tracker. A brand new one from nothing.</p>
<p>This article is very helpfull by the way. So now i manage to get my peer (Bit Torrent for the record) to contact my announce.php page. I have made 2 test and i log the result in a txt file. The first peer(Bit torrent) is the seed of the file. The second one is BitComet and is a leacher. I open my torrent file from both of them and they both reach my announce page.</p>
<p>Both send me the same crypted key. Good its the same file. they send me the peer_id and a key with a port number. Both of them send me this information. Of course not the same key and peer id. The only diffrence is that the one that is the seed as the event set to started.</p>
<p>What does this started mean. This is the seed. so does it mean that the file on this peer is started. however i dont know yet if the file is complete. would it be after a first response from the tracker?</p>
<p>Now im looking for more information about the actual transfer between the peer and the tracker. Im still working on figuring out what to reply to the tracker. Seem like you can return the reply on one single line that woud looke like for each valur replyed<br />
:String<br />
d5:hello</p>
<p>No i guess i have to respect the order since they dont have tag. Another thing that suprise me is that i dont get any ip from the peer. Maybe il get one after a responce from the tracker, wich is what im working on right now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.morehawes.co.uk/the-bittorrent-protocol/comment-page-1#comment-46</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.morehawes.co.uk/cms/the-bittorrent-protocol#comment-46</guid>
		<description>The list of available pieces is transferred directly after the handshake, of the peer actually has pieces to offer. See the list of messages, it&#039;s the entry with prefix 5, &quot;bitfield&quot;. The list simply consists of one bit per piece, 0 for &quot;I don&#039;t have this piece&quot; and 1 for &quot;I have this piece&quot;. The length is equal to the total number of pieces in the torrent., plus 1 for the message prefix. Clients then cache the information they got during handshake, and can thus determine which pieces in the current swarm are highly available or rarest.

As a client can send the bitfield message to it&#039;s swarm peers to inform them about recently completed pieces.</description>
		<content:encoded><![CDATA[<p>The list of available pieces is transferred directly after the handshake, of the peer actually has pieces to offer. See the list of messages, it&#8217;s the entry with prefix 5, &#8220;bitfield&#8221;. The list simply consists of one bit per piece, 0 for &#8220;I don&#8217;t have this piece&#8221; and 1 for &#8220;I have this piece&#8221;. The length is equal to the total number of pieces in the torrent., plus 1 for the message prefix. Clients then cache the information they got during handshake, and can thus determine which pieces in the current swarm are highly available or rarest.</p>
<p>As a client can send the bitfield message to it&#8217;s swarm peers to inform them about recently completed pieces.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.morehawes.co.uk/the-bittorrent-protocol/comment-page-1#comment-77</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.morehawes.co.uk/cms/the-bittorrent-protocol#comment-77</guid>
		<description>This is best site about torrent protocol that i&#039;ve found.Great work!!!</description>
		<content:encoded><![CDATA[<p>This is best site about torrent protocol that i&#8217;ve found.Great work!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Franky</title>
		<link>http://www.morehawes.co.uk/the-bittorrent-protocol/comment-page-1#comment-86</link>
		<dc:creator>Franky</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.morehawes.co.uk/cms/the-bittorrent-protocol#comment-86</guid>
		<description>Good article, but Fig. 5 is wrong. Trackers are responsible to connect peers, e.g they give a random list of peers to the new connected peers, participating in the same file download. Trackers receive also information about peers, mostly for statistics, but they not coordinate pieces between the peers.
Once the peers have connected themselves, they report to all of their neighbors which pieces have ...
Hope you understand what I mean.</description>
		<content:encoded><![CDATA[<p>Good article, but Fig. 5 is wrong. Trackers are responsible to connect peers, e.g they give a random list of peers to the new connected peers, participating in the same file download. Trackers receive also information about peers, mostly for statistics, but they not coordinate pieces between the peers.<br />
Once the peers have connected themselves, they report to all of their neighbors which pieces have &#8230;<br />
Hope you understand what I mean.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
