The RMISocketFactory is used by the RMI runtime in order to obtain
client and server sockets for RMI calls. The default implementation
of the socket factory performs a three-tiered approach to creating
client sockets. First, a direct socket connection to the remote VM
is attempted. If that fails (due to a firewall), the runtime uses
HTTP with the explicit port number of the server. If the firewall
does not allow this type of communication, then HTTP to a cgi-bin
script on the server is used to POST the RMI call.
An application may set the source of sockets for RMI. In this case,
the application is responsible for offering up sockets that will
penetrate a firewall.
Set the socket factory from which RMI gets sockets. The RMI
socket factory can only be set once. Note: The RMISocketFactory
may only be set if the current security manager allows setting
a socket factory; if disallowed, a SecurityException will be
thrown.
Set the failure handler to be called by the RMI runtime if
socket creation fails. The default implementation of this
handler returns false (thus recreation of sockets is not
attempted by the runtime).