SocketFactory — 소켓 팩토리
SocketFactory — 소켓 팩토리
SocketFactory 클래스는 소켓을 만들어요. 특정 종류의 소켓 서브클래스를 만드는 다른 팩토리들이 이 클래스를 서브클래싱할 수 있고, 따라서 공개 소켓 수준 기능을 추가하기 위한 일반적인 프레임워크를 제공해요.
본문
소켓 팩토리는 구성되는 소켓에 관한 다양한 정책을 포착하는 간단한 방법이에요. 소켓을 요청하는 코드의 특별한 구성 없이도 그러한 소켓을 만들어요.
- 팩토리와 소켓의 다형성 덕분에, 같은 애플리케이션 코드가 다른 종류의 팩토리를 전달받는 것만으로 다른 종류의 소켓을 사용할 수 있어요.
- 팩토리는 소켓 생성에 사용되는 매개변수로 맞춤 설정될 수 있어요.
SocketFactory는 추상 클래스예요. 관련 메서드를 정리하면 다음과 같아요.
static SocketFactory getDefault()— 환경 특정 기본 소켓 팩토리를 반환해요.Socket createSocket()— 바인딩되지 않거나 연결되지 않은 소켓을 만들어요.IOException이 발생할 수 있어요.Socket createSocket(String host, int port)— 지정된 호스트와 포트에 연결된 소켓을 만들어요.Socket createSocket(String host, int port, InetAddress localHost, int localPort)— 로컬 주소와 포트를 지정해요.Socket createSocket(InetAddress host, int port)—InetAddress로 호스트를 지정해요.Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort)— 양쪽 주소를 모두 지정해요.
소켓 생성을 추상화해 다양한 정책을 적용할 수 있게 해줘요. SSL 소켓 팩토리(SSLSocketFactory)가 대표적인 서브클래스예요.