I am required to implement a p2p communicator and read about nat hole punching. There are a few questions I don't quite understand:
- Do I really require a server if I know the public IP address and destination of my peer?
- In real life scenario, does it really work and what are some network policies that may cause it to fail
- For Skype, why does it optionally also require 443 and 80 if theoretically works for any Ports?