As you know the Internet divided into private network and public network, the public IP which include to public network is accessible and private IP which include to private network is inaccessible due to Internet network.
So, I decided to use one of public servers have windows servers as an access point server.
I guess you wonder what I'm trying to do?
One of computers outside the world have server program which receives incoming clients and establish multi-connections with them. And this computer include to private network and you know that I can't access it from another private network because of NAT technology which resolves private IP to public IP. And I can't use port forwarding for that purpose.
So, I decided to use a server include to public network and is accessible and make it to route messages to that computer which is connected always with it.
In summary, I will explain it in following by supposing PC1 is my computer and PC2 is the server which routes messages and PC3 the server destination:
1- PC3 connect with PC2.
2- PC1 connect with PC2.
3- PC1 asks PC3 about the IP address and the port that PC3 connected with PC2.
4- PC3 establish PC1 with PC2 in new standalone connection with same ports that PC1 use it with PC2 and PC3 as well.
The following image shows what I want to do:
<img src="http://im39.gulfup.com/TcI9R.png" border="0"/>
My question is: "How can I make the server program establish connection between clients?"