|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.net.InetAddress
public class InetAddress
IP (Internet Protocol) 주소를 나타내는 클래스입니다.
IP 주소는, IP 에 의해 사용되는 32 비트 또는 128 비트의 부호 없음의 수치입니다. IP 는, UDP 나 TCP 등의 프로토콜의 구축 기반이 되는 하위 레벨의 프로토콜입니다. IP 주소의 아키텍쳐(architecture)에 대해서는,「RFC 790: Assigned Numbers」,「RFC 1918: Address Allocation for Private Internets」,「RFC 2365: Administratively Scoped IP Multicast」, 및「RFC 2373: IP Version 6 Addressing Architecture」로 정의되고 있습니다. InetAddress 의 인스턴스는, IP 주소와 경우에 따라서는 거기에 대응하는 호스트명으로부터 구성됩니다. 호스트명이 포함될지 어떨지는, 그 인스턴스가 호스트명을 사용해 구축되고 있는지 어떤지, 또는 그 인스턴스가 호스트명의 역해결을 벌써 실행했는지 어떠했는지에 의해 정해집니다.
uni-cast 단일 인터페이스의 식별자. uni-cast 주소에 송신된 패킷은, 그 주소에 의해 식별되는 인터페이스에 전달됩니다. 미지정의 주소 -- 임의 로컬 주소 또는 와일드 카드 주소라고도 불립니다. 이것은 어느 노드에도 할당하지 말아 주세요. 이것은 주소가 없는 것을 나타냅니다. 이 주소를 사용한 예로서 바인드의 대상이 있습니다. 이것을 사용하면(자), 어느 서버 호스트에게 복수의 인터페이스가 있는 경우에, 그 서버가 임의의 인터페이스상에서 클라이언트의 접속을 받아들일 수가 있습니다.
「미지정」의 주소는, IP 패킷의 전송처 주소로서 사용 해서는 안됩니다.
「루프백」주소 -- 이것은 루프백 인터페이스에 할당할 수 있는 주소입니다. 이 IP 주소에 송신된 내용은 모두 루프 해 바탕으로 되돌려져 로컬 호스트의 IP 입력이 됩니다. 이 주소는, 클라이언트의 테스트가끔 자주(잘) 사용됩니다.
멀티 캐스트 일련의 인터페이스 (일반적으로은 다른 노드에 속하고 있다)의 식별자. 멀티 캐스트 주소에 송신된 패킷은, 그 주소에 의해 식별되는 모든 인터페이스에 전달됩니다.
「링크 로컬」주소는, 자동 주소 구성, 인접 주소의 발견등을 목적으로 해, 혹은 라우터가 존재하지 않는 경우에, 단일 링크의 주소 지정에 사용하기 위해서(때문에) 설계되고 있습니다.
「사이트 로컬」주소는, 글로벌 접두사를 필요로 하지 않는 사이트내의 주소 지정에 사용하기 위해서(때문에) 설계되고 있습니다.
「글로벌」주소는, 인터넷 전체로 일의입니다.
IPv4 의 주소 형식에 대해서는,「Inet4Address」를 참조해 주세요. IPv6 의 주소 형식에 대해서는,「Inet6Address」를 참조해 주세요.
「역이름 해석」에서는, 임의의 IP 주소에 대해, 그 IP 주소에 관련하는 호스트명이 돌려주어집니다.
InetAddress 클래스는, 호스트명으로부터 그 IP 주소에의 해결, 및 그 역의 해결의 메소드를 제공합니다.
디폴트에서는, 시큐리티 매니저가 인스톨 되고 있는 경우는, DNS 위장 공격으로부터 몸을 지키기 위해, 성공한 호스트명 해결의 결과가 영속적으로 캐쉬됩니다. 시큐리티 매니저가 인스톨되어 있지 않은 경우의 디폴트 동작에서는, 있는 한정된 기간 (구현에 의존한다)만 엔트리가 캐쉬됩니다. 실패한 호스트명 해결의 결과는, 퍼포먼스의 향상을 위해서(때문에) 단시간 (10 초)만 캐쉬됩니다.
디폴트 동작이 요구에 맞지 않는 경우는, 포지티브 캐쉬용의 Java 시큐리티 프로퍼티을 다른 유효기간 (TTL) 치로 설정할 수가 있습니다. 같이 시스템 관리 책임자는, 다른 네가티브 캐쉬 TTL 치를 필요에 따라서 설정할 수가 있습니다.
2 개의 Java 시큐리티 프로퍼티에 의해, 포지티브 및 네가티브의 호스트명 해결의 캐쉬에 사용하는 TTL 치를 제어합니다.
- networkaddress.cache.ttl
- 네임 서비스에 의한 성공한 이름 검색에 대한 캐싱 정책를 나타냅니다. 지정하는 값은, 성공한 검색 결과를 캐쉬하는 초수를 나타내는 정수입니다. 디폴트 설정은, 구현에 고유의 기간 캐쉬하는 것입니다.
-1 의 값은, 「쭉 캐쉬한다」라고 하는 의미입니다.
- networkaddress.cache.negative.ttl (디폴트: 10)
- 네임 서비스에 의한 실패한 이름 검색에 대한 캐싱 정책를 나타냅니다. 지정하는 값은, 실패한 검색 결과를 캐쉬하는 초수를 나타내는 정수입니다.
0 의 값은, 「캐쉬하지 않는다」라고 하는 의미입니다. -1 의 값은, 「쭉 캐쉬한다」라고 하는 의미입니다.
getByAddress(byte[])
,
getByAddress(java.lang.String, byte[])
,
getAllByName(java.lang.String)
,
getByName(java.lang.String)
,
getLocalHost()
,
직렬화 된 형식 메소드의 개요 | |
---|---|
boolean |
equals (Object obj)
객체와 지정된 객체를 비교합니다. |
byte[] |
getAddress ()
이 InetAddress 객체의 생의 IP 주소를 돌려줍니다. |
static InetAddress [] |
getAllByName (String host)
호스트명을 지정하면(자), 시스템으로 설정되어 있는 네임 서비스에 근거해 그 IP 주소의 배열을 돌려줍니다. |
static InetAddress |
getByAddress (byte[] addr)
지정된 생의 IP 주소를 나타내는 InetAddress 객체를 돌려줍니다. |
static InetAddress |
getByAddress (String host,
byte[] addr)
지정된 호스트명 및 IP 주소에 근거해 InetAddress 를 작성합니다. |
static InetAddress |
getByName (String host)
지정된 호스트명을 가지는 호스트의 IP 주소를 가져옵니다. |
String |
getCanonicalHostName ()
이 IP 주소에 대응하는 완전 수식 도메인명을 가져옵니다. |
String |
getHostAddress ()
텍스트 표현의 IP 주소 캐릭터 라인을 돌려줍니다. |
String |
getHostName ()
이 IP 주소에 대응하는 호스트명을 가져옵니다. |
static InetAddress |
getLocalHost ()
로컬 호스트를 돌려줍니다. |
int |
hashCode ()
이 IP 주소의 해시 코드를 돌려줍니다. |
boolean |
isAnyLocalAddress ()
InetAddress 가 와일드 카드 주소인가 어떤가를 조사하는 유틸리티 루틴입니다. |
boolean |
isLinkLocalAddress ()
InetAddress 가 링크 로컬 주소인가 어떤가를 조사하는 유틸리티 루틴입니다. |
boolean |
isLoopbackAddress ()
InetAddress 가 루프백 주소인가 어떤가를 조사하는 유틸리티 루틴입니다. |
boolean |
isMCGlobal ()
멀티 캐스트 주소에 글로벌 스코프가 있을지 어떨지를 조사하는 유틸리티 루틴입니다. |
boolean |
isMCLinkLocal ()
멀티 캐스트 주소에 링크 스코프가 있을지 어떨지를 조사하는 유틸리티 루틴입니다. |
boolean |
isMCNodeLocal ()
멀티 캐스트 주소에 노드 스코프가 있을지 어떨지를 조사하는 유틸리티 루틴입니다. |
boolean |
isMCOrgLocal ()
멀티 캐스트 주소에 조직 스코프가 있을지 어떨지를 조사하는 유틸리티 루틴입니다. |
boolean |
isMCSiteLocal ()
멀티 캐스트 주소에 사이트 스코프가 있을지 어떨지를 조사하는 유틸리티 루틴입니다. |
boolean |
isMulticastAddress ()
InetAddress 가 IP 멀티 캐스트 주소인가 어떤가를 조사하는 유틸리티 루틴입니다. |
boolean |
isReachable (int timeout)
그 주소에 도달 가능한가 어떤가를 테스트합니다. |
boolean |
isReachable (NetworkInterface netif,
int ttl,
int timeout)
그 주소에 도달 가능한가 어떤가를 테스트합니다. |
boolean |
isSiteLocalAddress ()
InetAddress 가 사이트 로컬 주소인가 어떤가를 조사하는 유틸리티 루틴입니다. |
String |
toString ()
이 IP 주소를 String 로 변환합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
메소드의 상세 |
---|
public boolean isMulticastAddress()
boolean
public boolean isAnyLocalAddress()
boolean
public boolean isLoopbackAddress()
boolean
. 루프백 주소가 아닌 경우는 falsepublic boolean isLinkLocalAddress()
boolean
. 주소가 링크 로컬 uni-cast 주소가 아닌 경우는 falsepublic boolean isSiteLocalAddress()
boolean
. 주소가 사이트 로컬 uni-cast 주소가 아닌 경우는 falsepublic boolean isMCGlobal()
boolean
. 그것이 글로벌 스코프의 주소가 아닌가 멀티 캐스트 주소가 아닌 경우는 falsepublic boolean isMCNodeLocal()
boolean
. 그것이 노드 로컬 스코프의 주소가 아닌가 멀티 캐스트 주소가 아닌 경우는 falsepublic boolean isMCLinkLocal()
boolean
. 그것이 링크 로컬 스코프의 주소가 아닌가 멀티 캐스트 주소가 아닌 경우는 falsepublic boolean isMCSiteLocal()
boolean
. 그것이 사이트 로컬 스코프의 주소가 아닌가 멀티 캐스트 주소가 아닌 경우는 falsepublic boolean isMCOrgLocal()
boolean
. 그것이 조직 로컬 스코프의 주소가 아닌가 멀티 캐스트 주소가 아닌 경우는 falsepublic boolean isReachable(int timeout) throws IOException
타임 아웃치 (밀리 세컨드)는, 이 시행의 최대 소요 시간을 나타냅니다. 응답을 얻을 수 있기 전에 조작이 타임 아웃 했을 경우, 그 호스트는 도달 불가능으로 간주해집니다. 값이 부의 경우, IllegalArgumentException 가 throw 됩니다.
timeout
- 호출이 중지될 때까지의 밀리 세컨드 단위의 시간
boolean
IOException
- 네트워크 에러가 발생했을 경우
IllegalArgumentException
- timeout
가 부의 경우public boolean isReachable(NetworkInterface netif, int ttl, int timeout) throws IOException
네트워크 인터페이스
파라미터와 ttl
파라미터를 사용하면, 호출원래는, 테스트의 실행 경로가 되는 네트워크 인터페이스와 패킷의 최대 호프수를 지정할 수 있습니다. ttl
의 값이 부의 경우, IllegalArgumentException 가 throw 됩니다.
타임 아웃치 (밀리 세컨드)는, 이 시행의 최대 소요 시간을 나타냅니다. 응답을 얻을 수 있기 전에 조작이 타임 아웃 했을 경우, 그 호스트는 도달 불가능으로 간주해집니다. 값이 부의 경우, IllegalArgumentException 가 throw 됩니다.
netif
- 테스트의 실행 경로가 되는 NetworkInterface. 어느 인터페이스에서도 상관없는 경우는 nullttl
- 시도해야 할 호프의 최대수. 디폴트는 0timeout
- 호출이 중지될 때까지의 밀리 세컨드 단위의 시간
boolean
IllegalArgumentException
- timeout
또는 ttl
가 부의 경우
IOException
- 네트워크 에러가 발생했을 경우public String getHostName()
이 InetAddress 가 호스트명을 지정해 작성된 것인 경우는, 기억되고 있는 그 호스트명이 돌려주어집니다. 그렇지 않은 경우는, 시스템으로 설정된 이름 검색 서비스에 근거해 역이름 검색이 실행되어 그 결과가 돌려주어집니다. 네임 서비스의 검색이 필요하게 되었을 경우는,getCanonicalHostName
를 호출합니다.
시큐리티 매니저가 존재하는 경우, 최초로 시큐리티 매니저의 checkConnect
메소드가, 인수로서 호스트명과 -1
를 지정해 불려 가 이 조작이 허가되고 있는 것을 확인합니다. 조작이 허가되어 있지 않은 경우, IP 주소의 텍스트 표현을 돌려줍니다.
getCanonicalHostName()
,
SecurityManager.checkConnect(java.lang.String, int)
public String getCanonicalHostName()
시큐리티 매니저가 존재하는 경우, 이 메소드는 우선, 호스트명과 -1
를 인수로 지정해 그 checkConnect
메소드를 호출해, 호출원의 코드가 이 IP 주소의 호스트명을 아는 것 (즉, 그 호스트에게 접속하는 것)를 허가되고 있는지 어떤지를 확인합니다. 조작이 허가되어 있지 않은 경우, IP 주소의 텍스트 표현을 돌려줍니다.
SecurityManager.checkConnect(java.lang.String, int)
public byte[] getAddress()
InetAddress
객체의 생의 IP 주소를 돌려줍니다. 그 결과는 네트워크 바이트 순서가 됩니다. 주소의 최상정도 순서 바이트는 getAddress()[0]
내에 존재합니다.
public String getHostAddress()
public int hashCode()
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
null
는 아니고, 그 인수가 이 객체와 같은 IP 주소를 나타내는 경우에만, 결과가 true
가 됩니다.
getAddress
에 의해 반환되는 바이트 배열의 길이가 같고, 바이트 배열의 각 요소가 같은 경우, 2 개의 InetAddress
의 인스턴스는 같은 IP 주소를 나타내고 있습니다.
Object
내의 equals
obj
- 비교 대상의 객체
true
,
그렇지 않은 경우는 false
getAddress()
public String toString()
String
로 변환합니다. 반환되는 캐릭터 라인의 형식은, 「호스트명 / 리터럴 IP 주소」가 됩니다.
호스트명이 미해결의 경우, 역네임 서비스 검색은 실행되지 않습니다. 호스트명의 부분은 빈 상태(empty)의 캐릭터 라인으로 표현됩니다.
Object
내의 toString
public static InetAddress getByAddress(String host, byte[] addr) throws UnknownHostException
호스트명은, 「java.sun.com
」등의 머신명인가, 또는 그 IP 주소의 텍스트 표현입니다.
호스트명의 유효성 체크도 일절 실행되지 않습니다.
addr 에 IPv4 주소를 지정하면(자), Inet4Address 의 인스턴스가 돌려주어집니다. 그렇지 않은 경우는, Inet6Address 의 인스턴스가 돌려주어집니다.
IPv4 주소의 바이트 배열은 4 바이트장, IPv6 의 바이트 배열은 16 바이트장이 아니면 안됩니다.
host
- 지정된 호스트addr
- 네트워크 바이트 순서의 IP 주소
UnknownHostException
- IP 주소의 길이가 부정의 경우public static InetAddress getByName(String host) throws UnknownHostException
호스트명은, 「java.sun.com
」등의 머신명인가, 또는 그 IP 주소의 텍스트 표현입니다. 리터럴 IP 주소가 지정되었을 경우, 주소 형식의 유효성만이 체크됩니다.
리터럴 IPv6 주소로 지정되는 host
에 대해서는, RFC 2732 로 정의되고 있는 형식인가, RFC 2373 으로 정의되고 있는 리터럴 IPv6 주소 형식이 가능합니다. IPv6 스코프 주소도 지원되고 있습니다. IPv6 스코프 주소에 대해서는,여기를 참조해 주세요.
host 가 null 의 경우, 루프백 인터페이스의 주소를 나타내는 InetAddress 가 돌려주어집니다. RFC 3330 의 섹션 2 및 RFC 2373 의 섹션 2. 5.3 을 참조해 주세요.
host
- 지정된 호스트 또는 null
UnknownHostException
- host
의 IP 주소가 발견되지 않았던 경우, 또는 글로벌 IPv6 주소로 스코프 ID 가 지정되었을 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkConnect 메소드가 이 조작을 허가하지 않는 경우public static InetAddress [] getAllByName(String host) throws UnknownHostException
호스트명은, 「java.sun.com
」등의 머신명인가, 또는 그 IP 주소의 텍스트 표현입니다. 리터럴 IP 주소가 지정되었을 경우, 주소 형식의 유효성만이 체크됩니다.
리터럴 IPv6 주소로 지정되는 host
에 대해서는, RFC 2732 로 정의되고 있는 형식인가, RFC 2373 으로 정의되고 있는 리터럴 IPv6 주소 형식이 가능합니다. 리터럴 IPv6 주소는 수식하는 일도 가능합니다. 거기에는 스코프 존 식별자, 즉 스코프 ID 를 말미에 추가합니다. 스코프 ID 의 구문이나 사용 방법에 대해서는,여기를 참조해 주세요.
host 가 null 의 경우, 루프백 인터페이스의 주소를 나타내는 InetAddress 가 돌려주어집니다. RFC 3330 의 섹션 2 및 RFC 2373 의 섹션 2. 5.3 을 참조해 주세요.
시큐리티 매니저가 존재하는 경우,host
가 null 는 아니고,host.length()
의 값이 제로는 아닐 때는, 시큐리티 매니저의 checkConnect
메소드가, 인수로서 호스트명과 -1
를 지정해 불려 가 이 조작이 허가되고 있는 것을 확인합니다.
host
- 호스트명, 또는 null
UnknownHostException
- host
의 IP 주소가 발견되지 않았던 경우, 또는 글로벌 IPv6 주소로 스코프 ID 가 지정되었을 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkConnect
메소드가 이 조작을 허가하지 않는 경우SecurityManager.checkConnect(java.lang.String, int)
public static InetAddress getByAddress(byte[] addr) throws UnknownHostException
InetAddress
객체를 돌려줍니다. 인수는 네트워크 바이트 순서가 됩니다. 주소의 최상정도 순서 바이트는 getAddress()[0]
내에 존재합니다.
이 메소드는 블록 하지 않습니다. 즉, 역네임 서비스 검색은 실행되지 않습니다.
IPv4 주소의 바이트 배열은 4 바이트장, IPv6 의 바이트 배열은 16 바이트장이 아니면 안됩니다.
addr
- 네트워크 바이트 순서의 IP 주소
UnknownHostException
- IP 주소의 길이가 부정의 경우public static InetAddress getLocalHost() throws UnknownHostException
시큐리티 매니저가 존재하는 경우, 시큐리티 매니저의 checkConnect
메소드가, 인수로서 로컬 호스트명 및 -1
을 지정해 불려 가 이 조작이 허가되고 있는 것을 확인합니다. 이 조작이 허가되지 않는 경우는, 루프백 주소를 나타내는 InetAddress 가 돌려주어집니다.
UnknownHostException
- host
의 IP 주소가 발견되지 않았던 경우SecurityManager.checkConnect(java.lang.String, int)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.