Not a detailed question. Anyway you could be using a reserved port no.?
You can create a server on ports 1 through 65535. Port numbers less than 256 are reserved for well-known services (like HTTP on port 80) and port numbers less than 1024 require root access on UNIX systems. Specifying a port of 0 in the ServerSocket constructor results in the server listening on a random, unused port, usually >= 1024.
Not sure why address is invalid. Try something like this on Client side:
String host="localhost";
int port_number=2229;//sample port no.
clientSocket = new Socket(host, port_number); // static Socket clientSocket = null;