I want to get a PROXY Server getting to run behind NAT. (Ok I can configure the Port forwarding in the router, but I want it instantly!).
So lets say A wants use Bs running proxy server. A / B are behind a router with NAT. So what now? A calls up the Server S to let him know that he wants a Proxy connection to B while B did already tell S that he is ready to connect. So S exchages somehow the IPs / Ports so that A / B can send UDP Packages to get a connection (hole punshing).
Am I right till now?
Ive read abou STUN (http://www.codeproject.com/KB/cs/STUN_client.aspx) but how the hell does me the backgiven IP / Port help me!? Does A / B need to exchange exactly those from the STUN Server and make a UPD hole Punsh through this Port!? I dont think so.
I would really apricieate a lot for helping me! Because my research, for this takes now friking to long. Id spend more than 30h to get Information and didnt come up with at least a idea!
Also other / better solutions are truly wanted :) Please help me guys. Prefered language C#.
I have written a chapter about NAT traversal in the Practical JXTA II book available online for reading at Scribd. It describes the different techniques available. It could be a good starting point for your project.