|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.rmi.server
类 RMISocketFactory
java.lang.Object java.rmi.server.RMISocketFactory
- 所有已实现的接口:
- RMIClientSocketFactory, RMIServerSocketFactory
-
public abstract class RMISocketFactory
- extends Object
- implements RMIClientSocketFactory, RMIServerSocketFactory
RMISocketFactory
实例由 RMI 运行时使用,以便获得 RMI 调用所需的客户机和服务器套接字。应用程序可以使用 setSocketFactory
方法来请求 RMI 运行时使用其套接字工厂实例而不是使用默认的实现。
所用的默认套接字工厂实现通过三层方法来创建客户机套接字。首先,尝试进行到远程 VM 的直接套接字连接。如果该操作失败(因防火墙的问题),则运行时使用具有服务器显式端口号的 HTTP。如果防火墙不允许此类型的通信,则服务器上的 cgi-bin 脚本的 HTTP 用于 POST(发送)该 RMI 调用。
- 从以下版本开始:
- JDK1.1
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
RMISocketFactory
public RMISocketFactory()
-
构造一个
RMISocketFactory
。- 从以下版本开始:
- JDK1.1
方法详细信息 |
---|
createSocket
public abstract Socket createSocket(String host, int port) throws IOException
- 创建连接到指定主机和端口的客户机套接字。
-
- 指定者:
-
接口
RMIClientSocketFactory
中的createSocket
-
- 参数:
-
host
- 主机名 -
port
- 端口号 - 返回:
- 连接到指定主机和端口的套接字。
- 抛出:
-
IOException
- 如果套接字创建过程中发生 I/O 错误 - 从以下版本开始:
- JDK1.1
createServerSocket
public abstract ServerSocket createServerSocket(int port) throws IOException
- 在指定端口上(端口 0 指示匿名端口)创建服务器套接字。
-
- 指定者:
-
接口
RMIServerSocketFactory
中的createServerSocket
-
- 参数:
-
port
- 端口号 - 返回:
- 指定端口上的服务器套接字
- 抛出:
-
IOException
- 如果在服务器套接字创建过程中发生 I/O 错误 - 从以下版本开始:
- JDK1.1
setSocketFactory
public static void setSocketFactory(RMISocketFactory fac) throws IOException
- 设置 RMI 从中获取套接字的全局套接字工厂(如果远程对象与指定客户机和/或服务器套接字工厂无关)。RMI 套接字工厂只能设置一次。注:RMISocketFactory 只有在当前安全管理器允许设置套接字工厂的情况下设置;如果不允许,则抛出 SecurityException。
-
-
- 参数:
-
fac
- 套接字工厂 - 抛出:
-
IOException
- 如果已经设置 RMI 套接字工厂 -
SecurityException
- 如果安全管理器存在并且其checkPermission
方法不允许进行此操作。 - 从以下版本开始:
- JDK1.1
- 另请参见:
-
getSocketFactory()
,SecurityManager.checkSetFactory()
getSocketFactory
public static RMISocketFactory getSocketFactory()
-
返回由
setSocketFactory
方法设置的套接字工厂。如果尚未设置套接字工厂,则返回null
。 -
-
- 返回:
- 套接字工厂
- 从以下版本开始:
- JDK1.1
- 另请参见:
-
setSocketFactory(RMISocketFactory)
getDefaultSocketFactory
public static RMISocketFactory getDefaultSocketFactory()
-
返回对此 RMI 实现使用的默认套接字工厂的引用。这将是在
getSocketFactory
返回null
时由 RMI 运行时使用的工厂。 -
-
- 返回:
- 默认的 RMI 套接字工厂
- 从以下版本开始:
- JDK1.1
setFailureHandler
public static void setFailureHandler(RMIFailureHandler fh)
-
如果服务器套接字创建失败,则设置将由 RMI 运行时调用的 failure 处理程序。默认情况下,如果没有安装故障处理程序且服务器套接字创建失败,则 RMI 运行时就尝试重新创建服务器套接字。
如果有安全管理器,则此方法首先调用安全管理器的
checkSetFactory
方法,以确保允许进行此操作。这可能会导致SecurityException
。 -
-
- 参数:
-
fh
- failure 处理程序 - 抛出:
-
SecurityException
- 如果安全管理器存在并且其checkSetFactory
方法不允许进行此操作。 - 从以下版本开始:
- JDK1.1
- 另请参见:
-
getFailureHandler()
,RMIFailureHandler.failure(Exception)
getFailureHandler
public static RMIFailureHandler getFailureHandler()
-
返回由
setFailureHandler
方法设置的套接字创建失败的处理程序。 -
-
- 参数:
-
failure
- 处理程序 - 从以下版本开始:
- JDK1.1
- 另请参见:
-
setFailureHandler(RMIFailureHandler)