JavaTM Platform
Standard Ed. 6

java.net
클래스 DatagramSocketImpl

java.lang.Object 
  상위를 확장 java.net.DatagramSocketImpl
모든 구현된 인터페이스:
SocketOptions


public abstract class DatagramSocketImpl
extends Object
implements SocketOptions

추상 데이터 그램 및 멀티 캐스트 소켓을 구현하는 base class입니다.

도입된 버젼:
JDK1. 1

필드의 개요
protected  FileDescriptor fd
          파일 기술자 객체입니다.
protected  int localPort
          로컬 포트 번호입니다.
 
인터페이스 java.net. SocketOptions 로부터 상속된 필드
IP_MULTICAST_IF , IP_MULTICAST_IF2 , IP_MULTICAST_LOOP , IP_TOS , SO_BINDADDR , SO_BROADCAST , SO_KEEPALIVE , SO_LINGER , SO_OOBINLINE , SO_RCVBUF , SO_REUSEADDR , SO_SNDBUF , SO_TIMEOUT , TCP_NODELAY
 
생성자 의 개요
DatagramSocketImpl ()
           
 
메소드의 개요
protected abstract  void bind (int lport, InetAddress  laddr)
          데이터 그램 소켓을 로컬의 포트 및 주소에 바인드 합니다.
protected abstract  void close ()
          소켓을 닫습니다.
protected  void connect (InetAddress  address, int port)
          데이터 그램 소켓을 원격 접속 먼저 접속합니다.
protected abstract  void create ()
          데이터 그램 소켓을 작성합니다.
protected  void disconnect ()
          원격 접속처로부터 데이터 그램 소켓을 떼어냅니다.
protected  FileDescriptor getFileDescriptor ()
          데이터 그램 소켓의 파일 기술자를 가져옵니다.
protected  int getLocalPort ()
          로컬 포트를 가져옵니다.
protected abstract  int getTimeToLive ()
          TTL (유효기간) 옵션을 가져옵니다.
protected abstract  byte getTTL ()
          추천 되고 있지 않습니다.  대신에 getTimeToLive 를 사용해 주세요.
protected abstract  void join (InetAddress  inetaddr)
          멀티 캐스트 그룹에 참가합니다.
protected abstract  void joinGroup (SocketAddress  mcastaddr, NetworkInterface  netIf)
          멀티 캐스트 그룹에 참가합니다.
protected abstract  void leave (InetAddress  inetaddr)
          멀티 캐스트 그룹으로부터 멀어집니다.
protected abstract  void leaveGroup (SocketAddress  mcastaddr, NetworkInterface  netIf)
          멀티 캐스트 그룹으로부터 멀어집니다.
protected abstract  int peek (InetAddress  i)
          패킷을 조사해, 패킷의 송신자를 확인합니다.
protected abstract  int peekData (DatagramPacket  p)
          패킷을 조사해, 패킷의 송신자를 확인합니다.
protected abstract  void receive (DatagramPacket  p)
          데이터 그램 패킷을 수신합니다.
protected abstract  void send (DatagramPacket  p)
          데이터 그램 패킷을 송신합니다.
protected abstract  void setTimeToLive (int ttl)
          TTL (유효기간) 옵션을 설정합니다.
protected abstract  void setTTL (byte ttl)
          추천 되고 있지 않습니다.  대신에 setTimeToLive 를 사용해 주세요.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 
인터페이스 java.net. SocketOptions 로부터 상속된 메소드
getOption , setOption
 

필드의 상세

localPort

protected int localPort
로컬 포트 번호입니다.


fd

protected FileDescriptor  fd
파일 기술자 객체입니다.

생성자 의 상세

DatagramSocketImpl

public DatagramSocketImpl()
메소드의 상세

create

protected abstract void create()
                        throws SocketException 
데이터 그램 소켓을 작성합니다.

예외:
SocketException - 사용하고 있는 프로토콜로 에러 (TCP 에러등)가 발생했을 경우

bind

protected abstract void bind(int lport,
                             InetAddress  laddr)
                      throws SocketException 
데이터 그램 소켓을 로컬의 포트 및 주소에 바인드 합니다.

파라미터:
lport - 로컬 포트
laddr - 로컬 주소
예외:
SocketException - 사용하고 있는 프로토콜로 에러 (TCP 에러등)가 발생했을 경우

send

protected abstract void send(DatagramPacket  p)
                      throws IOException 
데이터 그램 패킷을 송신합니다. 패킷에는, 데이터와 패킷의 송신지 주소가 포함되어 있습니다.

파라미터:
p - 송신되는 패킷
예외:
IOException - 데이터 그램 패킷의 송신중에 입출력 예외가 발생했을 경우
PortUnreachableException - 현재 도달 불가능하게 되어 있는 행선지에 소켓이 접속되고 있는 경우에 throw 될 가능성이 있다. 예외가 반드시 throw 된다고는 할 수 없는 것에 주의

connect

protected void connect(InetAddress  address,
                       int port)
                throws SocketException 
데이터 그램 소켓을 원격 접속 먼저 접속합니다. 이것은, 원격 주소를 로컬 소켓에 관련지어 데이터 그램의 송수신을 이 접속 먼저 대해만 실시할 수 있도록(듯이) 합니다. 이것을 오버라이드(override) 해, 네이티브의 시스템 접속이 불려 가도록(듯이) 해도 괜찮습니다.

소켓을 접속하는 원격 접속처가 존재하지 않는가 도달 불가능의 경우, 및 그 주소에 대한 ICMP 전송처 도달 불능 패킷을 수신했을 경우는, 이후의 송신 또는 수신 호출로 PortUnreachableException 가 throw 되는 일이 있습니다. 예외가 throw 된다고 하는 보증이 있는 것은 아닙니다.

파라미터:
address - 접속처의 원격 InetAddress
port - 원격 포트 번호
예외:
SocketException - 원격 접속 먼저 소켓을 접속할 수 없는 경우에 throw 될 가능성이 있는
도입된 버젼:
1.4

disconnect

protected void disconnect()
원격 접속처로부터 데이터 그램 소켓을 떼어냅니다.

도입된 버젼:
1.4

peek

protected abstract int peek(InetAddress  i)
                     throws IOException 
패킷을 조사해, 패킷의 송신자를 확인합니다. 지정된 InetAddress 를 패킷의 송신원주소로 갱신합니다.

파라미터:
i - InetAddress 객체
반환값:
패킷의 송신원포트 번호
예외:
IOException - 입출력 예외가 발생했을 경우
PortUnreachableException - 현재 도달 불가능하게 되어 있는 행선지에 소켓이 접속되고 있는 경우에 throw 될 가능성이 있다. 예외가 반드시 throw 된다고는 할 수 없는 것에 주의

peekData

protected abstract int peekData(DatagramPacket  p)
                         throws IOException 
패킷을 조사해, 패킷의 송신자를 확인합니다. 지정된 DatagramPacket 에 데이터가 카피됩니다. 데이터는 돌려주어집니다만 사용되지 않습니다. 따라서, 그 후의 PeekData 또는 수신 조작에서는 같은 데이터를 확인합니다.

파라미터:
p - 수신한 패킷
반환값:
패킷의 송신원포트 번호
예외:
IOException - 입출력 예외가 발생했을 경우
PortUnreachableException - 현재 도달 불가능하게 되어 있는 행선지에 소켓이 접속되고 있는 경우에 throw 될 가능성이 있다. 예외가 반드시 throw 된다고는 할 수 없는 것에 주의
도입된 버젼:
1.4

receive

protected abstract void receive(DatagramPacket  p)
                         throws IOException 
데이터 그램 패킷을 수신합니다.

파라미터:
p - 수신한 패킷
예외:
IOException - 데이터 그램 패킷의 수신중에 입출력 예외가 발생했을 경우
PortUnreachableException - 현재 도달 불가능하게 되어 있는 행선지에 소켓이 접속되고 있는 경우에 throw 될 가능성이 있다. 예외가 반드시 throw 된다고는 할 수 없는 것에 주의

setTTL

@Deprecated 
protected abstract void setTTL(byte ttl)
                        throws IOException 
추천 되고 있지 않습니다.  대신에 setTimeToLive 를 사용해 주세요.

TTL (유효기간) 옵션을 설정합니다.

파라미터:
ttl - TTL 치를 지정하는 바이트
예외:
IOException - 유효기간 옵션의 설정중에 입출력 예외가 발생했을 경우
관련 항목:
getTTL()

getTTL

@Deprecated 
protected abstract byte getTTL()
                        throws IOException 
추천 되고 있지 않습니다.  대신에 getTimeToLive 를 사용해 주세요.

TTL (유효기간) 옵션을 가져옵니다.

반환값:
TTL 치를 나타내는 바이트
예외:
IOException - 유효기간 옵션의 취득중에 입출력 예외가 발생했을 경우
관련 항목:
setTTL(byte)

setTimeToLive

protected abstract void setTimeToLive(int ttl)
                               throws IOException 
TTL (유효기간) 옵션을 설정합니다.

파라미터:
ttl - 유효기간치를 지정하는 int
예외:
IOException - 유효기간 옵션의 설정중에 입출력 예외가 발생했을 경우
관련 항목:
getTimeToLive()

getTimeToLive

protected abstract int getTimeToLive()
                              throws IOException 
TTL (유효기간) 옵션을 가져옵니다.

반환값:
유효기간치를 나타내는 int
예외:
IOException - 유효기간 옵션의 취득중에 입출력 예외가 발생했을 경우
관련 항목:
setTimeToLive(int)

join

protected abstract void join(InetAddress  inetaddr)
                      throws IOException 
멀티 캐스트 그룹에 참가합니다.

파라미터:
inetaddr - 참가에 사용하는 주소
예외:
IOException - 멀티 캐스트 그룹에의 참가중에 입출력 예외가 발생했을 경우

leave

protected abstract void leave(InetAddress  inetaddr)
                       throws IOException 
멀티 캐스트 그룹으로부터 멀어집니다.

파라미터:
inetaddr - 떨어지는 멀티 캐스트 주소
예외:
IOException - 멀티 캐스트 그룹으로부터 멀어질 때에 입출력 예외가 발생했을 경우

joinGroup

protected abstract void joinGroup(SocketAddress  mcastaddr,
                                  NetworkInterface  netIf)
                           throws IOException 
멀티 캐스트 그룹에 참가합니다.

파라미터:
mcastaddr - 참가에 사용하는 주소
netIf - 멀티 캐스트 데이터 그램 패킷을 수신하는 로컬 인터페이스를 지정
예외:
IOException - 멀티 캐스트 그룹에의 참가중에 입출력 예외가 발생했을 경우
도입된 버젼:
1.4

leaveGroup

protected abstract void leaveGroup(SocketAddress  mcastaddr,
                                   NetworkInterface  netIf)
                            throws IOException 
멀티 캐스트 그룹으로부터 멀어집니다.

파라미터:
mcastaddr - 떨어지는 주소
netIf - 그룹을 떠나는 로컬 인터페이스를 지정
예외:
IOException - 멀티 캐스트 그룹으로부터 멀어질 때에 입출력 예외가 발생했을 경우
도입된 버젼:
1.4

close

protected abstract void close()
소켓을 닫습니다.


getLocalPort

protected int getLocalPort()
로컬 포트를 가져옵니다.

반환값:
로컬 포트의 값을 나타내는 int

getFileDescriptor

protected FileDescriptor  getFileDescriptor()
데이터 그램 소켓의 파일 기술자를 가져옵니다.

반환값:
데이터 그램 소켓의 파일 기술자를 나타내는 FileDescriptor 객체

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 도 참조해 주세요.