Hi,<br><br>There's no point in not using the same connection to both send and receive data. No program that i know of would use a seperate socket to send data and receive data from the the same host, it's inefficient and awkward.
<br><br>Thanks,<br><span class="sg">Alan.<br><br>(forgot to hit &quot;reply to all&quot; the first time, sorry)<br></span><div><span class="e" id="q_10ea9d554abc207a_2"><br>&nbsp;<br><div><span class="gmail_quote">On 11/2/06, 
<b class="gmail_sendername">Michael Parker</b> &lt;<a href="mailto:mgp@ucla.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">mgp@ucla.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>On Nov 2, 2006, at 8:22 AM, Yao-Chin Wu wrote:<br>&gt; Dear all,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I am a college student and doing a project related to P2P<br>&gt; structure. Bittorrent is a excellent resource for us, and we are<br>

&gt; trying to understand its code as much as possible.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Accroding to the Bittorrent client implemented by Bram Cohen,<br>&gt; it looks like using only one connection when peer A is downloading<br>&gt; a piece from peer B and peer B also wants to download a piece from
<br>&gt; peer A ( one connection for downloading and uploading also). Is<br>&gt; that correct? Is there other implementatioins using seperated<br>&gt; connections for this situation? Which one may be better? Thank you<br>

&gt; for your help!<br>&gt;<br><br>Yes, the standard is that there is only one connection between them.<br>I don't think there's much point to separated connections for<br>uploading and downloading -- by using a single connection you can cut
<br>the overhead from the TCP headers in half. Also, if two different<br>connections were used, that gives me the impression that each side is<br>responsible for creating one of the connections (although not<br>necessarily). But with the prevalence of NATs and firewalls today,
<br>you'd be running a greater risk of one side not being able to connect<br>at all, and hence one side not being able to download or upload at all.<br><br>- Mike<br><br><br>_______________________________________________
<br>BitTorrent mailing list<br><a href="mailto:BitTorrent@lists.ibiblio.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">BitTorrent@lists.ibiblio.org</a><br><a href="http://lists.ibiblio.org/mailman/listinfo/bittorrent" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.ibiblio.org/mailman/listinfo/bittorrent
</a><br></blockquote></div><br>

</span></div>