    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.rmi.server.RMISocketFactory

    java.lang.Object
       |
       +----java.rmi.server.RMISocketFactory

public abstract class RMISocketFactory
extends Object

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.

##

RMISocketFactory()

##

createServerSocket(int)
  Create a server socket on the specified port (port 0 represents an anonymous port).
createSocket(String, int)
  Create a client socket connected to the specified host and port.
getFailureHandler()
  Returns the handler for socket creation failure.
getSocketFactory()
  Returns the socket factory used by RMI.
setFailureHandler(RMIFailureHandler)
  Set the failure handler to be called by the RMI runtime if socket creation fails.
setSocketFactory(RMISocketFactory)
  Set the socket factory from which RMI gets sockets.

##

RMISocketFactory

     public RMISocketFactory()

##

createSocket

     public abstract Socket createSocket(String host,
                                         int port) throws IOException

  Create a client socket connected to the specified host and port.

createServerSocket

     public abstract ServerSocket createServerSocket(int port) throws IOException

  Create a server socket on the specified port (port 0 represents an anonymous port).

setSocketFactory

     public static void setSocketFactory(RMISocketFactory fac) throws IOException

  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.

getSocketFactory

     public static RMISocketFactory getSocketFactory()

  Returns the socket factory used by RMI.

setFailureHandler

     public static void setFailureHandler(RMIFailureHandler fh)

  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).

getFailureHandler

     public static RMIFailureHandler getFailureHandler()

  Returns the handler for socket creation failure.

    All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature - Version 1.1.8 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1995-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.