|
On 24/02/2012 6:44 PM, Stelios M. wrote:
The trick is to be able to find out the remote end's IP. In order to do this, you will need a centralized server to which all peers will connect. This way the central server will know the public IP for each node. When a node request a connection to another peer the central server will pass the public IP and and port number to both peers for the target node.
I wonder is there any generic service that could be used for this.I've implemented this kind of "public IP address and port sharing" server before, but it is really quite tedious to have to set up, run and maintain such a thing (unless it already is needed for other parts of the app).
I'm wondering whether it couldn't be piggybacked of some other existing network infrastructure, IRC for example. A simple IRC client could connect to a known channel on a known IRC server and exchange IP and port numbers there (encrypted if needed).
I guess HTTP would be simple too if you had an HTTP client stack. Ross.