| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.rmi.server.RMISocketFactory
public abstract class RMISocketFactory
RMISocketFactory 实例由 RMI 运行时使用,以便获得 RMI 调用所需的客户机和服务器套接字。应用程序可以使用 setSocketFactory 方法来请求 RMI 运行时使用其套接字工厂实例而不是使用默认的实现。
所用的默认套接字工厂实现通过三层方法来创建客户机套接字。首先,尝试进行到远程 VM 的直接套接字连接。如果该操作失败(因防火墙的问题),则运行时使用具有服务器显式端口号的 HTTP。如果防火墙不允许此类型的通信,则服务器上的 cgi-bin 脚本的 HTTP 用于 POST(发送)该 RMI 调用。
| 构造方法摘要 | |
|---|---|
| RMISocketFactory()构造一个 RMISocketFactory。 | |
| 方法摘要 | |
|---|---|
| abstract  ServerSocket | createServerSocket(int port)在指定端口上(端口 0 指示匿名端口)创建服务器套接字。 | 
| abstract  Socket | createSocket(String host,
             int port)创建连接到指定主机和端口的客户机套接字。 | 
| static RMISocketFactory | getDefaultSocketFactory()返回对此 RMI 实现使用的默认套接字工厂的引用。 | 
| static RMIFailureHandler | getFailureHandler()返回由 setFailureHandler方法设置的套接字创建失败的处理程序。 | 
| static RMISocketFactory | getSocketFactory()返回由 setSocketFactory方法设置的套接字工厂。 | 
| static void | setFailureHandler(RMIFailureHandler fh)如果服务器套接字创建失败,则设置将由 RMI 运行时调用的 failure 处理程序。 | 
| static void | setSocketFactory(RMISocketFactory fac)设置 RMI 从中获取套接字的全局套接字工厂(如果远程对象与指定客户机和/或服务器套接字工厂无关)。 | 
| 从类 java.lang.Object 继承的方法 | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| 构造方法详细信息 | 
|---|
public RMISocketFactory()
RMISocketFactory。
| 方法详细信息 | 
|---|
public abstract Socket createSocket(String host,
                                    int port)
                             throws IOException
RMIClientSocketFactory 中的 createSockethost - 主机名port - 端口号
IOException - 如果套接字创建过程中发生 I/O 错误
public abstract ServerSocket createServerSocket(int port)
                                         throws IOException
RMIServerSocketFactory 中的 createServerSocketport - 端口号
IOException - 如果在服务器套接字创建过程中发生 I/O 错误
public static void setSocketFactory(RMISocketFactory fac)
                             throws IOException
fac - 套接字工厂
IOException - 如果已经设置 RMI 套接字工厂
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允许进行此操作。getSocketFactory(), 
SecurityManager.checkSetFactory()public static RMISocketFactory getSocketFactory()
setSocketFactory 方法设置的套接字工厂。如果尚未设置套接字工厂,则返回 null。
setSocketFactory(RMISocketFactory)public static RMISocketFactory getDefaultSocketFactory()
getSocketFactory 返回 null 时由 RMI 运行时使用的工厂。
public static void setFailureHandler(RMIFailureHandler fh)
如果有安全管理器,则此方法首先调用安全管理器的 checkSetFactory 方法,以确保允许进行此操作。这可能会导致 SecurityException。
fh - failure 处理程序
SecurityException - 如果安全管理器存在并且其 checkSetFactory 方法不允许进行此操作。getFailureHandler(), 
RMIFailureHandler.failure(Exception)public static RMIFailureHandler getFailureHandler()
setFailureHandler 方法设置的套接字创建失败的处理程序。
failure - 处理程序setFailureHandler(RMIFailureHandler)| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。