I'm trying to build a client-server networking application (in Java). There is a central server program (multithreaded, to handle multiple clients) and the client program. I don't know how the client is going to find the server. Does the user of the client program have to enter the IP address? What if the IP address is dynamic?