Best Practices for Using .NET WCF NAT Traversal

I am looking for suggestions or a solution for peer NAT traversal in .Net. Say I have a chat application and two clients need to connect, but both of them are behind NAT:

For home scenarios, uPNP is probably suitable, since only a cable modem or consumer router is involved. But what about a corporate environment where uPNP is not possible?

I am familiar with UDP holes that are suitable for handshaking, but I would not rely on it to transmit real application data.

I also studied IPv6 and Teredo, but I'm not sure that every client will have IPv6 availability, and it is a bit confusing regarding all the requirements of Teredo (servers, relays, etc.).

This is 2011 and IM / Chat clients have been around for a decade, and then some - so I believe this problem has been resolved many times. Can anyone recommend best practices in this area? Thanks in advance!

+7
source share
1 answer

XMPP supports NAT bypass chat, and there are several open source clients for .NET. Use any XMPP server, such as OpenFire.

0
source

All Articles