I have 2 separate household internet connections in two separate buildings. The connections use dynamic IP. Also all devices on both networks are behind routers.

I also have a server with fixed IP from GoDaddy.com (cPanel shared Linux hosting)

Now, I need to transfer files from a PC on my first network to another PC on my second network. Since they are both behind their routers, this cannot work with the destination's private IP.

I also cannot send the entire file though the server for bandwidth reasons. So, I need to achieve some kind of peer to peer transfer directly between my PCs.

My question is, given the availability of the server, how exactly I can get this done? Can the destination PC save some information in the server, that the source can use in order to establish a direct connection with the destination PC? If so, what information needs to be saved in the server?

  • Yes. You also could just use a dyndns service. – Seth Feb 5 at 10:49
  • Is there a way, I could use my own server as mentioned in the question to solve this problem? – Sureshkumar K V Feb 5 at 12:12
  • There are countless options. What you need to do is exchange the public IP so essentially you could any number of things because you haven't really specified anything. You could send a mail, you could run a script to let it post to a website, you could use SSH, you could let your server run an IRC demon and connect to that from your clients, you could run your own tracker and just use a torrent, you could setup some insane VPN solution. – Seth Feb 5 at 13:04
  • I will have to save the port and public IP of the clients, as seen by the server. I got this from text about TCP hole punching. But I also read that they are not reliable. So what can I do to make guaranteed p2p connection, especially given that one of the clients could be on a 4G phone? – Sureshkumar K V Feb 6 at 4:15
  • Phones are often behind a CGN which are a bit more complex to overcome. Every method I mentioned could be used to exchange the IPs. Whenever you determine the public IP on the client or server is up to you. You could also setup a port forward for a defined protocol one the non phone site which likely would make it easier to connect. Again, some of the methods mentions would allow you to use that. – Seth Feb 6 at 6:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.