The RemoteServer class is the common superclass to all server
implementations and provides the framework to support a wide range
of remote reference semantics. Specifically, the functions needed
to create and export remote objects (i.e. to make them remotely
available) are provided abstractly by RemoteServer and concretely
by its subclass(es).
The subclass selected identifies the semantics of the remote
reference, for example whether the server is a single object or is
a replicated object requiring communications with multiple
locations. At present only UnicastRemoteObject is supported.
Return the hostname of the current client. When called from a
thread actively handling a remote method invocation the
hostname of the client is returned.