|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.net.DatagramSocket
public class DatagramSocket
이 클래스는, 데이터 그램 패킷을 송수신하기 위한 소켓을 나타냅니다.
데이터 그램 소켓은, 패킷 전달 서비스의 송신점 또는 수신점입니다. 데이터 그램 소켓상에서 송신 또는 수신하는 각 패킷은, 각각 다른 주소로 경로가 지정됩니다. 어느 머신으로부터 다른 머신에 복수의 패킷을 송신하는 경우, 각 패킷은 다른 경로에서 송신될 가능성이 있어, 행선지에는 임의의 순서로 도달할 가능성이 있습니다.
UDP 브로드캐스트의 송신은, DatagramSocket 상에서 항상 유효하게 되어 있습니다. 브로드캐스트 패킷을 수신할 때는, DatagramSocket 를 와일드 카드 주소에 바인드 하도록 해 주세요. 구현에 따라서는, DatagramSocket 가 특정의 주소에 바인드 되고 있어도 브로드캐스트 패킷을 수신하는 경우도 있습니다.
예:DatagramSocket s = new DatagramSocket(null); s.bind(new InetSocketAddress(8888));
. 이것은,DatagramSocket s = new DatagramSocket(8888);
와 동등합니다. 어느 쪽의 방법에서도, UDP 포트 8888 상에서 브로드캐스트를 수신하는 DatagramSocket 를 작성할 수 있습니다.
DatagramPacket
,
DatagramChannel
생성자 의 개요 | |
---|---|
|
DatagramSocket ()
데이터 그램 소켓을 구축해, 로컬 호스트 머신상의 사용 가능한 포트에 바인드 합니다. |
protected |
DatagramSocket (DatagramSocketImpl impl)
지정된 DatagramSocketImpl 를 사용해 바인드되어 있지 않은 데이터 그램 소켓을 작성합니다. |
|
DatagramSocket (int port)
데이터 그램 소켓을 구축해, 로컬 호스트 머신상의 지정된 포트에 바인드 합니다. |
|
DatagramSocket (int port,
InetAddress laddr)
지정된 로컬 주소에 바인드 된 데이터 그램 소켓을 작성합니다. |
|
DatagramSocket (SocketAddress bindaddr)
지정된 로컬 주소에 바인드 된 데이터 그램 소켓을 작성합니다. |
메소드의 개요 | |
---|---|
void |
bind (SocketAddress addr)
이 DatagramSocket 를 특정의 주소 및 포트에 바인드 합니다. |
void |
close ()
이 데이터 그램 소켓을 닫습니다. |
void |
connect (InetAddress address,
int port)
소켓을 이 소켓의 원격 주소에 접속합니다. |
void |
connect (SocketAddress addr)
이 소켓을 원격 소켓 주소 (IP 주소 + 포트 번호)에 접속합니다. |
void |
disconnect ()
소켓을 절단 합니다. |
boolean |
getBroadcast ()
SO_BROADCAST 가 유효한가 어떤가를 조사합니다. |
DatagramChannel |
getChannel ()
이 데이터 그램 소켓에 관련하는 고유 DatagramChannel 객체를 돌려줍니다 (존재하는 경우). |
InetAddress |
getInetAddress ()
이 소켓의 접속처의 주소를 돌려줍니다. |
InetAddress |
getLocalAddress ()
소켓의 바인드처의 로컬 주소를 가져옵니다. |
int |
getLocalPort ()
이 소켓의 바인드처가 되는, 로컬 호스트상의 포트 번호를 돌려줍니다. |
SocketAddress |
getLocalSocketAddress ()
이 소켓이 바인드 되고 있는 단 점의 주소를 돌려줍니다. |
int |
getPort ()
이 소켓을 위한 포트를 돌려줍니다. |
int |
getReceiveBufferSize ()
이 DatagramSocket 로 사용되는 SO_RCVBUF 옵션의 값을 가져옵니다. |
SocketAddress |
getRemoteSocketAddress ()
이 소켓이 접속되고 있는 단 점의 주소인가, 소켓이 접속되어 있지 않은 경우는 null 를 돌려줍니다. |
boolean |
getReuseAddress ()
SO_REUSEADDR 가 유효한가 어떤가를 조사합니다. |
int |
getSendBufferSize ()
이 DatagramSocket 로 사용되는 SO_SNDBUF 옵션의 값을 가져옵니다. |
int |
getSoTimeout ()
SO_TIMEOUT 의 설정을 가져옵니다. |
int |
getTrafficClass ()
이 DatagramSocket 로부터 송신되는 패킷의 IP 데이터 그램 헤더의 트래픽 클래스 또는 서비스형을 가져옵니다. |
boolean |
isBound ()
소켓의 바인딩 상태를 돌려줍니다. |
boolean |
isClosed ()
소켓이 닫았는지의 여부를 돌려줍니다. |
boolean |
isConnected ()
소켓의 접속 상태를 돌려줍니다. |
void |
receive (DatagramPacket p)
이 소켓으로부터의 데이터 그램 패킷을 수신합니다. |
void |
send (DatagramPacket p)
이 소켓으로부터 데이터 그램 패킷을 송신합니다. |
void |
setBroadcast (boolean on)
SO_BROADCAST 를 유효 또는 무효로 합니다. |
static void |
setDatagramSocketImplFactory (DatagramSocketImplFactory fac)
어플리케이션의 데이터 그램 소켓 구현 팩토리를 설정합니다. |
void |
setReceiveBufferSize (int size)
SO_RCVBUF 옵션을, 이 DatagramSocket 로 지정된 값으로 설정합니다. |
void |
setReuseAddress (boolean on)
SO_REUSEADDR 소켓 옵션을 유효 또는 무효로 합니다. |
void |
setSendBufferSize (int size)
SO_SNDBUF 옵션을, 이 DatagramSocket 로 지정된 값으로 설정합니다. |
void |
setSoTimeout (int timeout)
지정된 대기 시간 (밀리 세컨드 단위)을 사용해, SO_TIMEOUT 를 유효 또는 무효로 합니다. |
void |
setTrafficClass (int tc)
이 DatagramSocket 로부터 송신되는 데이터 그램의 IP 데이터 그램 헤더의 트래픽 클래스 또는 서비스형 octet 를 설정합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public DatagramSocket() throws SocketException
시큐리티 매니저가 존재하는 경우는, 우선 시큐리티 매니저의 checkListen
메소드가 0 을 인수로서 불려 가 조작이 허가될지 어떨지가 확인됩니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
SocketException
- 소켓을 열 수가 없었던 경우, 또는 지정된 로컬 포트에 소켓을 바인드 할 수 없었던 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkListen
메소드가 이 조작을 허가하지 않는 경우SecurityManager.checkListen(int)
protected DatagramSocket(DatagramSocketImpl impl)
impl
- 서브 클래스가 DatagramSocket 상에서 사용하는 DatagramSocketImpl 의 인스턴스public DatagramSocket(SocketAddress bindaddr) throws SocketException
주소가 null
의 경우는, 바인드되어 있지 않은 소켓을 작성합니다.
시큐리티 매니저가 존재하는 경우는, 우선 시큐리티 매니저의 checkListen
메소드가 소켓 주소의 포트를 인수로서 불려 가 조작이 허가될지 어떨지가 확인됩니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
bindaddr
- 바인드 하는 로컬 소켓 주소. 바인드되어 있지 않은 소켓의 경우는 null
SocketException
- 소켓을 열 수가 없었던 경우, 또는 지정된 로컬 포트에 소켓을 바인드 할 수 없었던 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkListen
메소드가 이 조작을 허가하지 않는 경우SecurityManager.checkListen(int)
public DatagramSocket(int port) throws SocketException
시큐리티 매니저가 존재하는 경우는, 우선 시큐리티 매니저의 checkListen
메소드가 port
를 인수로서 불려 가 조작이 허가될지 어떨지가 확인됩니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
port
- 사용하는 포트
SocketException
- 소켓을 열 수가 없었던 경우, 또는 지정된 로컬 포트에 소켓을 바인드 할 수 없었던 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkListen
메소드가 이 조작을 허가하지 않는 경우SecurityManager.checkListen(int)
public DatagramSocket(int port, InetAddress laddr) throws SocketException
시큐리티 매니저가 존재하는 경우는, 우선 시큐리티 매니저의 checkListen
메소드가 port
를 인수로서 불려 가 조작이 허가될지 어떨지가 확인됩니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
port
- 사용하는 로컬 포트laddr
- 바인드처의 로컬 주소
SocketException
- 소켓을 열 수가 없었던 경우, 또는 지정된 로컬 포트에 소켓을 바인드 할 수 없었던 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkListen
메소드가 이 조작을 허가하지 않는 경우SecurityManager.checkListen(int)
메소드의 상세 |
---|
public void bind(SocketAddress addr) throws SocketException
주소가 null
의 경우는, 시스템에 의해 일시적인 포트와 유효한 로컬 주소가 선택되어 소켓이 바인드 됩니다.
addr
- 바인드처의 주소 및 포트
SocketException
- 바인드시에 에러가 발생했을 경우, 또는 소켓이 벌써 바인드 되고 있는 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkListen
메소드가 이 조작을 허가하지 않는 경우
IllegalArgumentException
- addr 가 이 소켓으로 지원되어 있지 않은 SocketAddress 서브 클래스인 경우public void connect(InetAddress address, int port)
소켓을 접속하는 원격 접속처가 존재하지 않는가 도달 불가능의 경우, 및 그 주소에 대한 ICMP 전송처 도달 불능 패킷을 수신했을 경우는, 이후의 송신 또는 수신 호출로 PortUnreachableException 가 throw 되는 일이 있습니다. 예외가 throw 된다고 하는 보증이 있는 것은 아닙니다.
지정된 호스트 및 포트와의 데이터 그램의 송수신을 행하기 위한 호출측의 액세스권은, 접속시에 확인됩니다. 소켓이 접속되었을 때, 송수신에서는 패킷의 수신 및 송신에 대한 시큐리티 체크를실시하지 않습니다. 다만, 패킷과 소켓의 주소 및 포트가 일치할지 어떨지의 확인은 실시합니다. 송신의 처리에서는, 패킷의 주소가 설정되어 있는 경우에, 패킷의 주소와 소켓의 주소가 일치하지 않을 때는, IllegalArgumentException 가 throw 됩니다. 멀티 캐스트 주소에 접속되고 있는 소켓은, 송신 패킷인 만큼 사용할 수 있습니다.
address
- 소켓이 사용하는 원격 주소port
- 소켓이 사용하는 원격 포트
IllegalArgumentException
- 주소가 null 인 경우, 또는 포트가 범위외의 경우
SecurityException
- 지정된 주소 및 포트와의 데이터 그램의 송수신이, 호출 측에 허가되어 있지 않은 경우disconnect()
,
send(java.net.DatagramPacket)
,
receive(java.net.DatagramPacket)
public void connect(SocketAddress addr) throws SocketException
addr
- 원격 주소
SocketException
- 접속에 실패했을 경우
IllegalArgumentException
- addr 가 null 인 경우, 또는 addr 가 이 소켓으로 지원되어 있지 않은 SocketAddress 서브 클래스인 경우connect(java.net.InetAddress, int)
public void disconnect()
connect(java.net.InetAddress, int)
public boolean isBound()
public boolean isConnected()
public InetAddress getInetAddress()
public int getPort()
public SocketAddress getRemoteSocketAddress()
null
를 돌려줍니다.
SocketAddress
. 소켓이 아직 접속되어 있지 않은 경우는 null
getInetAddress()
,
getPort()
,
connect(SocketAddress)
public SocketAddress getLocalSocketAddress()
null
를 돌려줍니다.
SocketAddress
. 소켓이 아직 바인드되어 있지 않은 경우는 null
getLocalAddress()
,
getLocalPort()
,
bind(SocketAddress)
public void send(DatagramPacket p) throws IOException
DatagramPacket
에는, 송신하는 데이터, 데이터의 길이, 원격 호스트의 IP 주소, 및 원격 호스트상의 포트 번호등의 정보가 포함되고 있습니다.
시큐리티 매니저가 존재해, 소켓이 현재 원격 주소에 접속되어 있지 않은 경우, 이 메소드는 최초로 몇개의 시큐리티 체크를 실시합니다. 우선,p.getAddress(). isMulticastAddress()
가 true 인 경우, 이 메소드는 p.getAddress()
를 인수로서 시큐리티 매니저의 checkMulticast
메소드를 호출합니다. 상기의 식의 결과가 false 인 경우, 이 메소드는 대신에 p.getAddress(). getHostAddress()
와 p.getPort()
를 인수로서 시큐리티 매니저의 checkConnect
메소드를 호출합니다. 어느 쪽의 시큐리티 매니저 메소드의 호출에서도 조작이 허가되지 않는 경우는, SecurityException 가 throw 됩니다.
p
- 송신되는 DatagramPacket
IOException
- 입출력 에러가 발생했을 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkMulticast
메소드 또는 checkConnect
메소드가 송신을 허가하지 않는 경우
PortUnreachableException
- 현재 도달 불가능한 접속 먼저 소켓이 접속되는 경우에 throw 되는 일이 있다. 예외의 throw가 보증되는 것은 아니다
IllegalBlockingModeException
- 소켓에 관련한 채널이 존재해, 그 채널이 비블록 모드의 경우DatagramPacket
,
SecurityManager.checkMulticast(InetAddress)
,
SecurityManager.checkConnect(java.lang.String, int)
public void receive(DatagramPacket p) throws IOException
DatagramPacket
의 버퍼에는 수신한 데이터가 포함됩니다. 데이터 그램 패킷에는, 송신자의 IP 주소와 송신자의 머신의 포트 번호도 포함되고 있습니다.
이 메소드는 데이터 그램이 수신될 때까지 블록 됩니다. 데이터 그램 패킷 객체의 length
필드에는, 수신되는 메세지의 길이의 정보가 포함되고 있습니다. 메세지가 패킷보다 긴 경우, 메세지는 절약할 수 있습니다.
시큐리티 매니저가 존재하는 경우, 시큐리티 매니저의 checkAccept
메소드가 패킷의 수신을 허가하지 않을 때는, 패킷의 수신은 행해지지 않습니다.
p
- 수신한 데이터를 보존하는 DatagramPacket
IOException
- 입출력 에러가 발생했을 경우
SocketTimeoutException
- setSoTimeout 가 이전에 불려 가, 타임 아웃이 지났을 경우
PortUnreachableException
- 현재 도달 불가능한 접속 먼저 소켓이 접속되는 경우에 throw 되는 일이 있다. 예외의 throw가 보증되는 것은 아니다
IllegalBlockingModeException
- 소켓에 관련한 채널이 존재해, 그 채널이 비블록 모드의 경우DatagramPacket
,
DatagramSocket
public InetAddress getLocalAddress()
시큐리티 매니저가 존재하는 경우는, 우선 시큐리티 매니저의 checkConnect
메소드가 호스트 주소 및 -1
을 인수로서 불려 가 조작이 허가될지 어떨지가 확인됩니다.
checkConnect
메소드가 이 조작을 허가하지 않는 경우는, 임의의 로컬 주소를 나타내는 InetAddress
SecurityManager.checkConnect(java.lang.String, int)
public int getLocalPort()
public void setSoTimeout(int timeout) throws SocketException
timeout
- 밀리 세컨드로 나타내지는, 지정된 대기 시간
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우getSoTimeout()
public int getSoTimeout() throws SocketException
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우setSoTimeout(int)
public void setSendBufferSize(int size) throws SocketException
SO_SNDBUF 는 힌트이므로, 어플리케이션으로 버퍼의 사이즈를 조사할 필요가 있는 경우는,getSendBufferSize()
를 호출하도록 해 주세요.
버퍼 사이즈를 크게 하면(자), 송신 속도가 높은 경우에 네트워크 구현에 의해 복수의 송신 패킷을 큐에 넣는 것이 가능하게 됩니다.
주:send(DatagramPacket)
를 사용해 SO_SNDBUF 의 설정보다 큰 DatagramPacket
를 송신하는 경우, 패킷이 송신될까 파기될까는 구현에 따라서 다릅니다.
size
- 송신 버퍼용으로서 설정하는 사이즈. 0 보다 큰 값을 지정할 필요가 있다
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우
IllegalArgumentException
- 치가 0 또는 0 보다 작은 값인 경우getSendBufferSize()
public int getSendBufferSize() throws SocketException
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우setSendBufferSize(int)
public void setReceiveBufferSize(int size) throws SocketException
SO_RCVBUF 는 힌트이므로, 어플리케이션으로 버퍼의 사이즈 설정을 조사할 필요가 있는 경우는,getReceiveBufferSize()
를 호출하도록 해 주세요.
SO_RCVBUF 의 값을 크게 하면(자),receive(DatagramPacket)
를 사용한 수신보다 빠르게 패킷이 도달하는 경우에, 네트워크 구현에 의한 복수의 패킷의 버퍼링이 가능하게 되는 경우가 있습니다.
주:SO_RCVBUF 보다 큰 패킷을 수신할 수 있을지 어떨지는 구현에 따라서 다릅니다.
size
- 수신 버퍼용으로서 설정하는 사이즈. 0 보다 큰 값을 지정할 필요가 있다
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우
IllegalArgumentException
- 치가 0 또는 0 보다 작은 값인 경우getReceiveBufferSize()
public int getReceiveBufferSize() throws SocketException
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우setReceiveBufferSize(int)
public void setReuseAddress(boolean on) throws SocketException
UDP 소켓의 경우, 복수의 소켓을 같은 소켓 주소에 바인드 하는 것이 필요하게 되는 일이 있습니다. 멀티 캐스트 패킷을 수신하기 위해서는 일반적으로 이와 같이 합니다 (MulticastSocket
를 참조). bind(SocketAddress)
를 사용해 소켓을 바인드 하기 전에 SO_REUSEADDR 소켓 옵션이 유효하게 되어 있으면,SO_REUSEADDR 소켓 옵션을 사용해 복수의 소켓을 동일한 소켓 주소에 바인드 할 수가 있습니다.
주:이 기능은, 기존의 모든 플랫폼에서 지원되고 있는 것은 아닙니다. 따라서, 이 옵션이 무시될지 어떨지는 구현에 따라서 다릅니다. 다만, 이 기능이 지원되어 있지 않은 경우,getReuseAddress()
는 항상 false
를 돌려줍니다.
DatagramSocket 가 작성되면(자),SO_REUSEADDR 의 초기설정은 무효가 됩니다.
소켓이 바인드 되었다 (isBound()
를 참조) 나중에 SO_REUSEADDR 를 유효 또는 무효로 하는 경우의 동작은 정의되고 있지 않습니다.
on
- 유효하게 할까 무효로 하는지를 지정
SocketException
- SO_RESUEADDR 소켓 옵션을 유효 또는 무효로 할 경우에 에러가 발생하는 경우, 또는 소켓이 닫고 있는 경우getReuseAddress()
,
bind(SocketAddress)
,
isBound()
,
isClosed()
public boolean getReuseAddress() throws SocketException
boolean
치
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우setReuseAddress(boolean)
public void setBroadcast(boolean on) throws SocketException
on
- 브로드캐스트를 온으로 할지 어떨지를 지정
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우getBroadcast()
public boolean getBroadcast() throws SocketException
boolean
치
SocketException
- 기본이 되는 프로토콜로 UDP 에러등의 에러가 발생했을 경우setBroadcast(boolean)
public void setTrafficClass(int tc) throws SocketException
tc 의 범위는 0 <= tc <= 255
가아니면 안됩니다. 그렇지 않은 경우는, IllegalArgumentException 가 throw 됩니다.
주:
IP (Internet Protocol) Version 4 의 경우, RFC 1349 로 설명되고 있도록(듯이), 이 값은 우선도의 높은 octet 와 TOS 필드로 구성됩니다. TOS 필드는, 다음과 같이 비트 단위의 논리합에 의해 작성되는 비트 세트입니다.
IPTOS_LOWCOST (0x02)
IPTOS_RELIABILITY (0x04)
IPTOS_THROUGHPUT (0x08)
IPTOS_LOWDELAY (0x10)
우선 필드에 비트를 설정하면(자), 조작이 허가되지 않는 것을 나타내는 SocketException 가 되는 일이 있습니다.
IP (Internet Protocol) Version 6 의 경우,tc
는 IP 헤더의 sin6_flowinfo 필드에 포함되는 값입니다.
tc
- 비트 세트의 int
치
SocketException
- 트래픽 클래스 또는 서비스형을 설정할 경우에 에러가 발생했을 경우getTrafficClass()
public int getTrafficClass() throws SocketException
사용하는 네트워크 구현이,setTrafficClass(int)
를 사용해 설정된 트래픽 클래스 또는 서비스형을 무시하는 일이 있으므로, 이 DatagramSocket 로 setTrafficClass(int)
메소드를 사용해 이전으로 설정된 값과는 다른 값이 이 메소드로부터 반환되는 일이 있습니다.
SocketException
- 트래픽 클래스 또는 서비스형의 값을 취득할 경우에 에러가 발생했을 경우setTrafficClass(int)
public void close()
현재 이 소켓의 receive(java.net.DatagramPacket)
로 블록 떠날 수 있어 모든 thread가 SocketException
를 throw 합니다.
이 소켓에 관련하는 채널이 존재하는 경우는, 그 채널도 닫혀집니다.
public boolean isClosed()
public DatagramChannel getChannel()
DatagramChannel
객체를 돌려줍니다 (존재하는 경우).
채널 자체가 DatagramChannel.open
메소드를 사용해 작성되었을 경우에만, 데이터 그램 소켓에 채널이 존재합니다.
public static void setDatagramSocketImplFactory(DatagramSocketImplFactory fac) throws IOException
어플리케이션으로 새로운 데이터 그램 소켓을 작성하면(자), 소켓 구현 팩토리의 createDatagramSocketImpl
메소드가 불려 가 실제의 데이터 그램 소켓 구현이 작성됩니다.
이 메소드에 null
를 건네주어도, 팩토리가 벌써 설정되어 있지 않은 한, 그것은 무조작이 됩니다.
시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkSetFactory
메소드를 호출하는 것으로, 이 조작이 허가되고 있는 것을 확인합니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
fac
- 목적의 팩토리
IOException
- 데이터 그램 소켓 팩토리의 설정중에 입출력 에러가 발생했을 경우
SocketException
- 팩토리가 벌써 정의되고 있는 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkSetFactory
메소드가 이 조작을 허가하지 않는 경우DatagramSocketImplFactory.createDatagramSocketImpl()
,
SecurityManager.checkSetFactory()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.