hey man,
As for "1)":
First of all, i hope when you say "provide the host DNS and port " you are referring to the client. So that's that.
Here is an example command line used to access remote objects from some client:
DataServer dataServer = (DataServer) Naming.lookup("rmi://" + arg[0] + ":" + arg[1] + "/DataServer"); where arg[0] stands for host (as an IP number or DNS name) and arg[1] for port (as an ordinary integer)
Clearly, you need to know the IP address and the port number. (actually you can skip the port numeber as in
rmi://somehost/DataServer. in this case the client will try to connect to the server on the standard RMI port which is 1099)
as for "2)":
rmiregistry is started on the server machine:
>rmiregistry 3456
for example.
If skip port, the default port will be used and the client will have to try to connect to this default port (1099) to successfully locate the remote object DataServer.
So the client on the othere side of the connection tried to connect to the specified host name and port. this is why you need these two parameters.
hope i helped you a bit.