RMISocketFactory

RMISocketFactory (RMI 소켓 팩토리)

RMI 런타임이 RMI 호출을 위한 클라이언트·서버 소켓을 얻기 위해 사용하는 추상 클래스입니다.

출처: Java API Reference

본문

RMIClientSocketFactoryRMIServerSocketFactory를 구현합니다. 애플리케이션은 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);
    }
}

더 알아보기 (Learn more)

Java 공식 API