UDP hole punching
We may not need any UDP hole punching code considering how the current code is set up?
- Peer A will connect to root peers, which will provide the info (IP:Port, Public Key) of other peers (Peer B)
- Peer A will directly connect to those other peers. Local binding is on the same port/socket where it receives data. Therefore reaching out keeps the UDP port for the response in. Peer A connects to Peer B.
- Peer B takes the incoming connection details (public key, IP:Port), stores it in its peer list and shares it etc.
In this case we already have a UDP hole punching by default?
We'll send every 10 seconds a ping/pong to make sure it remains open, but otherwise there should not be any problems?