The java.net.ServerSocket class implements a server socket. A server socket waits for requests to come in over the network. It performs some operation based on that request, and then possibly returns a result to the requester.
The constructors of java.net.ServerSocket have an int parameter for the port number the socket is supposed to listen to, as in
"public ServerSocket(int port) throws IOException"
ServerSockets can be created to listen on port numbers from 1 to 65535. However, port numbers 1 up to, and including 255 are reserved for services such as telnet (23), ftp (21), http (80), and so on. On UNIX platform, port numbers less than 1024 require root access.
Also, setting the port number of a ServerSocket to zero will let the server to choose an unused port on random.