RMISocketFactory
RMISocketFactory (RMI 소켓 팩토리)
RMI 런타임이 RMI 호출을 위한 클라이언트·서버 소켓을 얻기 위해 사용하는 추상 클래스입니다.
본문
RMIClientSocketFactory와 RMIServerSocketFactory를 구현합니다. 애플리케이션은 setSocketFactory 메서드를 사용해 기본 구현 대신 자신의 소켓 팩토리 인스턴스를 RMI 런타임이 사용하도록 요청할 수 있습니다.
기본 소켓 팩토리 구현은 원격 호스트에 직접 소켓 연결을 만들고, 모든 네트워크 인터페이스의 요청을 수락하는 와일드카드 주소에 바인딩된 서버 소켓을 만듭니다.
구현 참고: RMISocketFactory 클래스를 사용해 특정 주소에 바인딩된 서버 소켓을 만들어 요청 출처를 제한할 수 있습니다. 예를 들어 다음 코드는 서버 소켓을 IPv4 루프백 주소에 바인딩해 RMI가 로컬 호스트의 요청만 처리하도록 제한하는 소켓 팩토리를 구현합니다.
class LoopbackSocketFactory extends RMISocketFactory {
public ServerSocket createServerSocket(int port) throws IOException {
return new ServerSocket(port, 5, InetAddress.getByName("127.0.0.1"));
}
public Socket createSocket(String host, int port) throws IOException {
// just call the default client socket factory
return RMISocketFactory.getDefaultSocketFactory().createSocket(host, port);
}
}