$BL\ | $BA0$N9`L\(B | $B | Java Remote Method Invocation |
RMI $B%i%s%?%$%`java.net.Socket $B$*$h$S(B java.net.ServerSocket
$B$,I,MW$J>l9g$K$O!"$3$l$i$N%/%i%9$N%*%V%8%'%/%H$rD>@\%$%s%9%?%s%92=$9$k$N$G$O$J$/!"(Bstatic $B%a%=%C%I(BRMISocketFactory.getSocketFactory
$B$K$h$C$FJV$5$l$k!"8=:_$N(BRMISocketFactory
$B%*%V%8%'%/%H$N(BcreateSocket
$B$*$h$S(BcreateServerSocket
$B%a%=%C%I$r8F$S=P$7$^$9!#$3$l$K$h$j!"%"%W%j%1!<%7%g%s$O!"(Bjava.net.Socket
$B$*$h$S(Bjava.net.ServerSocket
$B%/%i%9$NBeBX%5%V%/%i%9$J$I$N(B RMI $BE>Aw$G;H$o$l$k%=%1%C%H$NRMISocketFactory $B$N%$%s%9%?%s%9$O!"?.Mj$G$-$k%7%9%F%`%3!<%I$K$h$C$F0lEY$K@_Dj$G$-$^$9!#(BJDK1.1 $B$G$O!"$3$N%+%9%?%^%$%:$O!"%=%1%C%H$N l9g$K8B$i$l$F$$$^$7$?!#(B $B$3$l$O!"%U%!%/%H%j$N%a%=%C%I$KEO$5$l$k%Q%i%a!<%?$,!"(B createSocket
$B$N(Bhost
$B$H(Bport
$B!"$*$h$S(BcreateServerSocket
$B$N(Bport
$B$@$1$G$"$C$?$?$a$G$9!#(BJava 2 $B%W%i%C%H%U%)!<%`$G$O!"%j%b!<%H%*%V%8%'%/%H$H$NDL?.$K$I$N%W%m%H%3%k$r;H$&$+$K$D$$$F!"$h$j=@Fp$K%+%9%?%^%$%:$G$-$k$h$&$K!"?7$7$$%$%s%?%U%'!<%9(B
RMIServerSocketFactory
$B$*$h$S(BRMIClientSocketFactory
$B$,F3F~$5$l$^$7$?!#(BRMI $B$r;H$C$?%"%W%j%1!<%7%g%s$G!"$3$l$i$N?7$7$$%=%1%C%H%U%!%/%H%j%$%s%?%U%'!<%9$rMxMQ$9$k$?$a$K!"(B
UnicastRemoteObject
$B$H(Bjava.rmi.activation.Activatable
$B$NN>J}$K!"$$$/$D$+$N?7$7$$%3%s%9%H%i%/%?$*$h$S(BexportObject
$B%a%=%C%I$,DI2C$5$l$^$7$?!#(B $B$3$l$i$N%3%s%9%H%i%/%?$*$h$S%a%=%C%I$O!"%/%i%$%"%s%H$*$h$S%5!<%P%=%1%C%H%U%!%/%H%j$rDI2C$5$l$?%Q%i%a!<%?$H$7$FMxMQ$7$^$9!#(B$B$3$N?7$7$$%3%s%9%H%i%/%?$^$?$O(B
exportObject
$B%a%=%C%I$N$I$A$i$+$K$h$C$F(B (RMIClientSocketFactory
$B$*$h$S(BRMIServerSocketFactory
$B%Q%i%a!<%?$r;H$C$F(B) $B%(%/%9%]!<%H$5$l$k%j%b!<%H%*%V%8%'%/%H$O!"(BRMI $B%i%s%?%$%`$K$h$jFCJL$K07$o$l$^$9!#%j%b!<%H%*%V%8%'%/%H$NB8B34|4VCf!"%i%s%?%$%`$O!"(BServerSocket
$B$r:n@.$7$F%j%b!<%H%*%V%8%'%/%H$X$NCe8F$rRMIServerSocketFactory $B$r;HMQ$7!"(BSocket
$B$r:n@.$7$F%/%i%$%"%s%H$r%j%b!<%H%*%V%8%'%/%H$K@\B3$9$k$?$a$K!"%+%9%?%`$N(BRMIClientSocketFactory
$B$r;HMQ$7$^$9!#(B$B%+%9%?%`%=%1%C%H%U%!%/%H%j$H$H$b$K%(%/%9%]!<%H$5$l$k%j%b!<%H%*%V%8%'%/%H$N%9%?%V$*$h$S%9%1%k%H%sFb$G;H$o$l$k(B
RemoteRef
$B$*$h$S(BServerRef
$B$N$l(B UnicastRef2
$B$*$h$S(BUnicastServerRef2
$B$G$9!#(BUnicastRef $B7?$N%o%$%d$NI=8=$G$O!"@\B3$9$k$?$a$N!V%(%s%I%]%$%s%H!W$NI=8=$K!"(BUTF $B7A<0$N%[%9%HL>J8;zNs$H$=$N$"$H$K@0?t$N%]!<%HHV9f$@$1$r;HMQ$7$F$$$^$7$?!#(BUnicastRef2
$B7?$N%o%$%d$NI=8=$K$O!"$3$l$H$O0[$J$kI=8=$,4^$^$l$F$$$^$9!#(BUnicastRef2
$B$G$O!"%(%s%I%]%$%s%H$N%o%$%dI=8=$O!";D$j$N%(%s%I%]%$%s%HI=8=$NFbMF$r;XDj$9$k7A<0$N%P%$%H(B ($B>-Mh$N%(%s%I%]%$%s%HI=8=$N3HD%MQ(B)$B!"$*$h$S$=$l$KB3$/;XDj$5$l$?7A<0$N%G!<%?$K$h$C$F9=@.$5$l$F$$$^$9!#8=:_$N$H$3$m!"%G!<%?$O!"(BUTF $B7A<0$N%[%9%HL>!"%]!<%HHV9f!"$*$h$S(B ($B%(%s%I%]%$%s%H$N7A<0%P%$%H$K$h$C$F;XDj$5$l$?$H$-$O(B) $B%/%i%$%"%s%H$,$3$N%(%s%I%]%$%s%H$G%j%b!<%H%*%V%8%'%/%H$X$N%=%1%C%H@\B3$r@8@.$9$k$?$a$K;H$&(BRMIClientSocketFactory
$B%*%V%8%'%/%H$ND>Ns2=I=8=$G9=@.$5$l$^$9!#%(%s%I%]%$%s%H$NI=8=$K$O!"%j%b!<%H%*%V%8%'%/%H$N%(%/%9%]!<%H;~$K;XDj$5$l$?(BRMIServerSocketFactory
$B%*%V%8%'%/%H$O4^$^$l$^$;$s!#(B
UnicastRef2
$B7?$N;2>H$r;H$C$F8F$S=P$7$,9T$o$l$?>l9g!"%i%s%?%$%`$O $B(B $BRMISocketFactory
java.rmi.server.RMISocketFactory
abstract $B%/%i%9$O!"%H%i%s%9%]!<%H$,%=%1%C%H$rjava.net $B%Q%C%1!<%8$N(B Socket
$B$*$h$S(BServerSocket
$B$r;HMQ$7$^$9!#(B
package java.rmi.server;public abstract class RMISocketFactory implements RMIClientSocketFactory, RMIServerSocketFactory { public abstract Socket createSocket(String host, int port) throws IOException; public abstract ServerSocket createServerSocket(int port) throws IOException; public static void setSocketFactory(RMISocketFactory fac) throws IOException; public static RMISocketFactory getSocketFactory(); public static void setFailureHandler(RMIFailureHandler fh); public static RMIFailureHandler getFailureHandler(); }
static $B%a%=%C%I(BsetSocketFactory
$B$O!"(BRMI $B$,%=%1%C%H$rRMISocketFactory $B$N%$%s%9%?%s%9$N$?$a$K$3$N%a%=%C%I$r8F$S=P$;$k$N$O(B 1 $B2s$@$1$G$9!#%"%W%j%1!<%7%g%s$NDj5A$K$h$k(B RMISocketFactory
$B$Njava.net.Socket $B$^$?$O(B java.net.ServerSocket
$B%/%i%9$rFH<+$K3HD%$7$?$b$N$rJV$7$F!"3NRMISocketFactory $B$r@_Dj$G$-$k$N$O!"l9g$@$1$G$"$k$3$H$KCm0U$7$F$/$@$5$$!#(B $B%=%1%C%H%U%!%/%H%j$N@_Dj$,5v2D$5$l$F$$$J$$>l9g$K$O!"(B SecurityException
$B$,%9%m!<$5$l$^$9!#(Bstatic $B%a%=%C%I(B
getSocketFactory
$B$O!"(BRMI $B$K$h$k%=%1%C%H%U%!%/%H%j$rJV$7$^$9!#%=%1%C%H%U%!%/%H%j$,@_Dj$5$l$F$$$J$1$l$P!"$3$N%a%=%C%I$O(Bnull
$B$rJV$7$^$9!#(B$B%H%i%s%9%]!<%H%l%$%d$O!"%H%i%s%9%]!<%H$G%=%1%C%H$N:n@.$,I,MW$K$J$k$H!"(B
getSocketFactory
$B%a%=%C%I$,CM$rJV$7$?(BRMISocketFactory
$B>e$G(BcreateSocket
$B$H(BcreateServerSocket
$B%a%=%C%I$r8F$S=P$7$^$9!#Nc$r<($7$^$9!#(B
RMISocketFactory.getSocketFactory().createSocket(myhost, myport)createSocket
$B%a%=%C%I$O!";XDj$5$l$?%[%9%H$H%]!<%H$K@\B3$5$l$k%/%i%$%"%s%H%=%1%C%H$r:n@.$9$k$b$N$G$9!#(BcreateServerSocket
$B$O!";XDj$5$l$?%]!<%H>e$K%5!<%P%=%1%C%H$r:n@.$9$k$b$N$G$9!#(BsetFailureHandler
$B%a%=%C%I$O!"%5!<%P%=%1%C%H$N:n@.$K<:GT$9$k$H<:GTMQ%O%s%I%i$r(B RMI $B%i%s%?%$%`$K$h$j8F$S=P$5$l$k$h$&$K@_Dj$7$^$9!#<:GTMQ%O%s%I%i$O%V!<%kCM$rJV$7$F!"%j%H%i%$$r9T$J$C$F$h$$$+$I$&$+$r<($7$^$9!#%G%U%)%k%H$N<:GTMQ%O%s%I%i$O(Bfalse
$B$rJV$7!"%G%U%)%k%H>r7o$G$O%i%s%?%$%`$O%=%1%C%H:n@.$N%j%H%i%$$r9T$o$J$$$3$H$r<($7$^$9!#(B
getFailureHandler
$B%a%=%C%I$O!"%=%1%C%H:n@.<:GT$N8=:_$N%O%s%I%i$rJV$7!"<:GTMQ%O%s%I%i$,@_Dj$5$l$F$$$J$1$l$P!"(Bnull
$B$rJV$7$^$9!#(B
5.8.2
RMIServerSocketFactory
$B%$%s%?%U%'!<%9(B$B%j%b!<%H%*%V%8%'%/%H$H$N%+%9%?%`$NDL?.$r%5%]!<%H$9$k$K$O!"%(%/%9%]!<%H;~$K%j%b!<%H%*%V%8%'%/%H$KBP$7$F(B RMIServerSocketFactory $B$N%$%s%9%?%s%9$r;XDj$7$^$9!#(B $B$3$N>l9g!"E,@Z$J(BUnicastRemoteObject
$B%3%s%9%H%i%/%?$+(BexportObject
$B%a%=%C%I!"$^$?$OE,@Z$J(Bjava.rmi.activation.Activatable
$B%3%s%9%H%i%/%?$+(BexportObject
$B%a%=%C%I$r;HMQ$7$Fl9g!"(BRMI $B%i%s%?%$%`$O!"%j%b!<%H%/%i%$%"%s%H$+$i$N@\B3$rRMIServerSocketFactory.createServerSocket $B%a%=%C%I$r;HMQ$7$F(B) ServerSocket
$B$r:n@.$7$^$9!#(B
package java.rmi.server;public interface RMIServerSocketFactory { public java.net.ServerSocket createServerSocket(int port) throws IOException; }
5.8.3
RMIClientSocketFactory
$B%$%s%?%U%'!<%9(B$B%j%b!<%H%*%V%8%'%/%H$H$N%+%9%?%`DL?.$r%5%]!<%H$9$k$?$a$K!"%(%/%9%]!<%H;~$K%j%b!<%H%*%V%8%'%/%H$N(B RMIClientSocketFactory $B$N%$%s%9%?%s%9$r;XDj$G$-$^$9!#(B $B$3$N>l9g!"E,@Z$J(BUnicastRemoteObject
$B%3%s%9%H%i%/%?$+(BexportObject
$B%a%=%C%I!"$^$?$OE,@Z$J(Bjava.rmi.activation.Activatable
$B%3%s%9%H%i%/%?$+(BexportObject
$B%a%=%C%I$K$h$C$F9T$$$^$9!#%(%/%9%]!<%H;~$K!"%j%b!<%H%*%V%8%'%/%H$K$3$N$h$&$J%5!<%P%=%1%C%H%U%!%/%H%j$,4XO"IU$1$i$l$F$$$k>l9g!"%j%b!<%H%*%V%8%'%/%H$KBP$9$k%j%b!<%H;2>H$H$H$b$K%/%i%$%"%s%H%=%1%C%H%U%!%/%H%j$,%j%b!<%H(B Virtual Machine $B$K%@%&%s%m!<%I$5$l$^$9!#(B RMI $B%i%s%?%$%`$O!"%/%i%$%"%s%H$+$i%j%b!<%H%*%V%8%'%/%H$X$N@\B3$K!"(BRMIClientSocketFactory.createSocket
$B%a%=%C%I$r;HMQ$7$^$9!#(B
package java.rmi.server;public interface RMIClientSocketFactory { public java.net.Socket createSocket(String host, int port) throws IOException; }
$BL\ | $BA0$N9`L\(B | $B
Copyright © 1997-1999 Sun Microsystems, Inc. All Rights Reserved.