JavaTM Platform
Standard Ed. 6

패키지 java.net

네트워크 어플리케이션을 구현하기 위한 클래스를 제공합니다.

참조처:
          설명

인터페이스의 개요
ContentHandlerFactory 이 인터페이스는, 컨텐츠 핸들러의 팩토리를 정의합니다.
CookiePolicy CookiePolicy 구현은, 어느 Cookie 를 받아들여 어느 Cookie 를 거부해야할 것인가를 결정합니다.
CookieStore CookieStore 객체는, Cookie 의 기억 영역을 나타냅니다.
DatagramSocketImplFactory 이 인터페이스는, 데이터 그램 소켓 구현의 팩토리를 정의합니다.
FileNameMap 파일명과 MIME 타입 캐릭터 라인을 맵 하는 기구를 제공하는 단순한 인터페이스입니다.
SocketImplFactory 이 인터페이스는, 소켓 구현의 팩토리를 정의합니다.
SocketOptions 소켓 옵션을 취득/설정하는 메소드의 인터페이스.
URLStreamHandlerFactory URL 스트림 프로토콜 핸들러의 팩토리를 정의하는 인터페이스입니다.
 

클래스의 개요
Authenticator Authenticator 클래스는, 네트워크 접속에 필요한 인증을 취득하기 위한 객체를 나타냅니다.
CacheRequest 자원을 ResponseCache 내에 포함하기 위한 채널을 나타냅니다.
CacheResponse ResponseCache 로부터 자원을 취득하기 위한 채널을 나타냅니다.
ContentHandler abstract 클래스 ContentHandler 는,URLConnection 로부터 Object 를 읽어들이는 모든 클래스의 슈퍼 클래스입니다.
CookieHandler CookieHandler 객체는, HTTP 프로토콜 핸들러에 HTTP 상태 관리 정책 구현을 짜넣기 위한 콜백 기구를 제공합니다.
CookieManager CookieManager 는 CookieHandler 의 구상 구현을 제공해, Cookie 의 기억 영역과 Cookie 의 수락/거부에 관한 정책를 분리합니다.
DatagramPacket 이 클래스는 데이터 그램 패킷을 나타냅니다.
DatagramSocket 이 클래스는, 데이터 그램 패킷을 송수신하기 위한 소켓을 나타냅니다.
DatagramSocketImpl 추상 데이터 그램 및 멀티 캐스트 소켓을 구현하는 base class입니다.
HttpCookie HttpCookie 객체는, 서버와 사용자 에이전트와의 사이에 상태 정보를 전달하는 HTTP Cookie 를 나타냅니다.
HttpURLConnection HTTP 고유의 기능을 지원하는 URLConnection 입니다.
IDN 일반적으로의 Unicode 표현과 ASCII 호환 인코딩 (ACE) 표현과의 사이에 국제화 도메인명 (IDN)의 변환을 실시하는 메소드를 제공합니다.
Inet4Address 이 클래스는, 인터넷 프로토콜 버젼 4 (IPv4) 주소를 나타냅니다.
Inet6Address 이 클래스는, 인터넷 프로토콜 버젼 6 (IPv6) 주소를 나타냅니다.
InetAddress IP (Internet Protocol) 주소를 나타내는 클래스입니다.
InetSocketAddress 이 클래스는, IP 소켓 주소 (IP 주소 + 포트 번호)를 구현합니다.
InterfaceAddress 이 클래스는, 네트워크 인터페이스 주소를 나타냅니다.
JarURLConnection JAR (Java ARchive) 파일, 또는 JAR 파일내에 있는 엔트리에의 URL 접속입니다.
MulticastSocket 멀티 캐스트 데이터 그램 소켓 클래스는, IP 멀티 캐스트 패킷을 송수신 하는 경우에 도움이 됩니다.
NetPermission 이 클래스는, 각종의 네트워크 액세스권을 위해서(때문에) 사용합니다.
NetworkInterface 이 클래스는, 이름과 이 인터페이스에 할당할 수 있었던 일련의 IP 주소로부터 완성되는 네트워크 인터페이스를 나타냅니다.
PasswordAuthentication 클래스 PasswordAuthentication 는, Authenticator에 의해 사용되는 데이터 홀더입니다.
Proxy 이 클래스는 프록시 설정을 나타냅니다만, 일반적으로 이것은, 타입 (http, socks)과 소켓 주소로부터 완성됩니다.
ProxySelector URL 로 참조되는 네트워크 자원에의 접속시에 사용하는 프록시 서버-가 존재하는 경우에, 그것들을 선택합니다.
ResponseCache URLConnection 의 캐쉬의 구현을 나타냅니다.
SecureCacheResponse 최초로 TLS 등의 시큐리티 보호된 방법으로 취득된 캐쉬 응답을 나타냅니다.
ServerSocket 이 클래스는 서버 소켓을 구현합니다.
Socket 이 클래스는, 클라이언트 소켓 (단지 「소켓」이라고도 불린다)을 구현합니다.
SocketAddress 이 클래스는, 프로토콜에 관련지을 수 있지 않은 소켓 주소를 나타냅니다.
SocketImpl abstract 클래스 SocketImpl 는, 실제로 소켓을 구현하는 모든 클래스에 공통의 슈퍼 클래스입니다.
SocketPermission 이 클래스는, 소켓을 통한 네트워크에의 액세스권을 나타냅니다.
URI URI (Uniform Resource Identifier) 참조를 나타냅니다.
URL URL 클래스는, Uniform Resource Locator (유니폼 자원 locator), 즉 World Wide Web 상의 「자원」에의 포인터를 나타냅니다.
URLClassLoader 이 클래스 로더는, JAR 파일과 디렉토리의 양쪽 모두를 참조하는 URL 의 검색 패스로부터, 클래스와 자원을 로드하기 위해서(때문에) 사용됩니다.
URLConnection abstract 클래스 URLConnection 는, 어플리케이션과 URL 와의 사이의 통신 링크를 나타내는 모든 클래스의 슈퍼 클래스입니다.
URLDecoder HTML 형식을 디코드하기 위한 유틸리티 클래스입니다.
URLEncoder HTML 형식을 encode하기 위한 유틸리티 클래스입니다.
URLStreamHandler abstract 클래스 URLStreamHandler 는, 모든 스트림 프로토콜 핸들러에 공통의 슈퍼 클래스입니다.
 

열거형의 개요
Authenticator.RequestorType 인증을 요구하고 있는 엔티티의 타입.
Proxy.Type 프록시 타입을 나타냅니다.
 

예외의 개요
BindException 소켓을 로컬 주소와 포트에 바인드 하려고 했을 때에 에러가 발생한 것을 통지합니다.
ConnectException 소켓을 원격 주소와 포트에 접속하려고 했을 때에 에러가 발생한 것을 통지합니다.
HttpRetryException HTTP 요구를 재시행할 필요가 있지만, 스트리밍 모드가 유효하게 되어 있기 위해서(때문에) 자동적으로 재시행할 수 없는 것을 나타내기 위해서(때문에), throw 됩니다.
MalformedURLException 부정한 형식의 URL 가 발견된 것을 나타내기 위해서(때문에) throw 됩니다.
NoRouteToHostException 소켓을 원격 주소와 포트에 접속하려고 했을 때에 에러가 발생한 것을 통지합니다.
PortUnreachableException ICMP 포트 도달 불가능 메세지가 접속된 데이터 그램에 수신된 것을 나타내는 시그널입니다.
ProtocolException 사용하고 있는 프로토콜로 에러 (TCP 에러등)가 발생한 것을 나타내기 위해서(때문에) throw 됩니다.
SocketException 사용하고 있는 프로토콜로 에러 (TCP 에러등)가 발생한 것을 나타내기 위해서(때문에) throw 됩니다.
SocketTimeoutException 소켓의 읽어들여 또는 수락으로 타임 아웃이 발생한 것을 나타내는 시그널입니다.
UnknownHostException 호스트의 IP 주소를 판정할 수 없었던 경우에 throw 됩니다.
UnknownServiceException 미지의 서비스 예외가 발생한 것을 나타내기 위해서(때문에) throw 됩니다.
URISyntaxException 캐릭터 라인을 URI 참조로서 해석할 수 없었던 것을 나타내기 위해서(때문에) throw 된 체크 예외입니다.
 

패키지 java.net 의 설명

네트워크 어플리케이션을 구현하기 위한 클래스를 제공합니다.

java.net 패키지는, 크게 다음의 2 개의 부분으로 나눌 수 있습니다.

주소

주소는, 호스트 식별자, 소켓단점식별자의 언젠가로서 java.net API 의 전체로 사용됩니다.

InetAddress 클래스는, IP (Internet Protocol) 주소를 나타내는 추상 객체입니다. 이것에는 다음의 2 개의 서브 클래스가 있습니다.

다만, 대부분의 경우, 서브 클래스를 직접 취급할 필요는 없습니다. InetAddress 추상 객체가 필요한 기능의 대부분을 커버할 것이기 때문입니다.

IPv6 에 대해

모든 시스템이 IPv6 프로토콜을 지원하고 있는 것은 아닙니다. 또, Java 네트워크 탁은 IPv6 가 사용 가능한 경우는 그것을 투과적으로 검출해 사용하려고 합니다만, 시스템 프로퍼티을 사용해 그 사용을 무효로 할 수도 있습니다. IPv6 가 사용 가능하지 않을까 명시적으로 무효화되고 있는 경우, Inet6Address 가, 대부분의 네트워크 조작으로 유효한 인수는 아니게 됩니다. InetAddress.getByName(java.lang.String) 와 같은 메소드가 호스트명을 검색할 때에 Inet6Address 를 돌려주는 것은 결코 없습니다만, 리터럴을 건네주는 것으로 그러한 객체를 생성하는 것은 가능합니다. 그 경우, 대부분의 메소드는, Inet6Address 를 지정해 불려 가면(자), 예외를 throw 합니다.

소켓

소켓은, 네트워크상의 머신간에 통신 링크를 확립하기 위한 수단입니다. java.net 패키지는 다음의 4 종류의 소켓을 제공합니다.

TCP 소켓에 의한 송수신은, InputStream 와 OutputStream 를 사용해 행해집니다. 이것들을 가져오려면 ,Socket.getInputStream() 메소드와 Socket.getOutputStream() 메소드를 사용합니다.

인터페이스

NetworkInterface 클래스는, 로컬 머신의 모든 네트워크 인터페이스 (Ethernet 접속이나 PPP 단 점등)의 참조나 쿼리를 행하기 위한 API 를 제공합니다. 로컬 인터페이스중 한쪽이 IPv6 를 지원하도록(듯이) 구성되어 있는지 어떤지를 체크할 수 있는 것은, 이 클래스를 통해라고입니다.

고레벨의 API

java.net 패키지내가 많은 클래스는, 매우 고레벨의 추상화 객체를 제공하고 있어, 네트워크상의 자원에의 용이한 액세스를 가능하게 합니다. 그러한 클래스를 다음에 나타냅니다.

추천의 사용 방법은,URI 를 사용해 자원을 식별한 뒤, 그 자원에 액세스 할 단계에서 그것을 URL 로 변환한다고 하는 것입니다. 그 URL 로부터, 치밀한 제어가 가능한 URLConnection 를 취득하는 일도, InputStream 를 직접 취득할 수도 있습니다.

다음은 그 예입니다.

URI uri = new URI("http://java.sun.com/");
URL url = uri.toURL();
InputStream in = url.openStream();

프로토콜 핸들러

전술대로, URL 와 URLConnection 는 프로토콜 핸들러에 의존하고 있어, 그것들이 존재하고 있지 않으면 안됩니다. 그렇지 않은 경우는, 예외가 throw 됩니다. 이것이 URI 와의 주된 차이입니다. URI 는 자원을 식별할 뿐(만큼)이므로, 프로토콜 핸들러에 액세스 할 필요는 없습니다. 따라서, URI 의 작성시에는,myproto://myhost.mydomain/resource/ 와 같이 어떠한 종류의 프로토콜 schema에서도 포함할 수가 있는데 대해, 같은 URL 는, 지정된 프로토콜의 핸들러를 인스턴스화하려고 합니다. 그리고, 그러한 핸들러가 존재하지 않는 경우는 예외가 throw 됩니다.

프로토콜 핸들러는 디폴트로, 디폴트의 장소로부터 동적으로 로드 됩니다. 다만, 검색 패스에 패스를 추가할 수도 있습니다. 거기에는,java.protocol.handler.pkgs 시스템 프로퍼티을 설정합니다. 예를 들어, 그것이 myapp.protocols 로 설정되어 있는 경우, URL 코드는 HTTP 의 경우이면, 우선 myapp.protocols.http.Handler 를 로드하려고 해, 그것이 실패하면(자), 디폴트의 장소로부터 http.Handler 를 로드하려고 합니다.

Handler 클래스는 abstract 클래스 URLStreamHandler 의 서브 클래스가 아니면 안 되는 것에 주의해 주세요.

도입된 버젼:
JDK1. 0

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.