I want to make a peer-to-peer program in Python, but I keep running into the same issue of how to get them to communicate. I always run into the same answers.
- Use a central server
- UDP hole punching, or
- use UPnP to tell the router to open a port.
The second and third I haven't gotten to work despite hours of trying. Multiple libraries simply didn't work, and for the second I have no rendezvous server. For the first, I have tried to use the freenode IRC server as the central server, but it is quite unreliable and complicated, and just doesn't feel like a good solution.
Is there any other way? Or solutions to the above problems?