I did created a socket for connecting a Client to A Server. With Java you give the IP and the port no, this will work if you have a public Internet IP. How I can connect the client with the server if my ISP is not providing me a public IP. How this can work as messenger programs can work on any computer even with no public IP.