I am trying to run a file sharing software behind NAT. As I am going through the papers on NAT Punching, I found it very difficult to implement since there are nearly 27 different implementation of NATs and hence I am facing a lot of difficulty in deciding how to start.
Which way should I implement it so that开发者_运维技巧 I can punch holes in most of the NATs?
Is this difficult to do in C?
You can check how NAT punching is implemented in popular RakNet open-source library (intended for game networking). It also provides an excellent description of NAT punching technique.
精彩评论