On Jun 17, 2010, at 9:37 AM, Stefan Reich wrote:
I'm not sure about Deluge, but <http://divmod.org/trac/wiki/DivmodVertex> does some NAT hole-punching. It does it via sending UDP packets though, not by communicating directly with your router.
Yeah, I found that too... it looks quite interesting, but as you say, it
is UDP-based. I know that there is a working TCP-solution. As I said,
Deluge does it, and for example, the original Bittorrent client does it too.
For what it's worth, Vertex includes an *implementation* of TCP, on top of UDP instead of IP. You can run any Twisted stream-based protocol with Vertex, you don't need to send UDP datagrams around.
(In fact, Vertex _only_ provides a stream-based transport; the UDP part is an implementation detail. If possible, vertex will try to use TCP first, and could be modified to use a techniques such as the ones described in <
http://www.brynosaurus.com/pub/net/p2pnat/> section 4 to speak real TCP instead.)