A small collection of example programs to show how UDP hole punching can be done. Hole punching is a mechanism to access computers in private networks behind NAT (Network Address Translation).
This is a key principle behind STUN. Also important concepts are the different NAT types:
- Full Cone NAT (normal)
- Restricted Cone NAT
- Port Restricted NAT
The examples have not been successfully tested and are probably broken!
Pull requests are welcome. :-)
Public Domain / CC0
A small link list explaining the concepts: