java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

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)

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策