[Twisted-Python] UDP vs TCP for bittorrent-style file transfer

Jean-Paul Calderone exarkun at divmod.com
Sun Sep 21 20:44:22 EDT 2008


On Sun, 21 Sep 2008 20:35:42 -0400, "Z. S. O." <tiredashell at gmail.com> wrote:
>Hi list, I'd like to revive a topic touched on in the past. I'm playing with
>python socket programming and decided I want to make a simplistic bittorrent
>clone that uses UDP instead of TCP. My main reasons for the protocol choice
>are (1) I don't need guaranteed in-order delivery, and (2) I need to get
>around NAT restrictions without making the user manually forward ports.
>Couple questions...
>
>1. Are those good reasons to ditch TCP, or am I being an idiot? (Always a
>possibility.)

It's not easier to get UDP through NATs.  It's just as hard or harder.

>
>2. Even though I don't need TCP's in-order guarantee, I still need an
>ACKing mechanism to make sure all the packets eventually arrive. Is there
>any (simple) code written that accomplishes this with UDP?
>

Jean-Paul




More information about the Twisted-Python mailing list