|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.net.DatagramSocket
ÀÌ Å¬·¡½º´Â µ¥ÀÌÅÍ ±×·¥ ÆÐŶÀ» ¼Û¼ö½ÅÇϱâ À§ÇÑ ¼ÒÄÏÀ» ³ªÅ¸³À´Ï´Ù.
µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏÀº ÆÐŶ Àü´Þ ¼ºñ½ºÀÇ ¼Û½ÅÁ¡ ¶Ç´Â ¼ö½ÅÁ¡ÀÔ´Ï´Ù. µ¥ÀÌÅÍ ±×·¥ ¼ÒÄϻ󿡼 ¼Û½Å ¶Ç´Â ¼ö½ÅÇÏ´Â °¢ ÆÐŶÀº °¢°¢ ´Ù¸¥ ÁÖ¼Ò·Î °æ·Î°¡ ÁöÁ¤µË´Ï´Ù. ¾î´À ¸Ó½ÅÀ¸·ÎºÎÅÍ ´Ù¸¥ ¸Ó½Å¿¡ º¹¼öÀÇ ÆÐŶÀ» ¼Û½ÅÇÏ´Â °æ¿ì, °¢ ÆÐŶÀº ´Ù¸¥ °æ·Î¿¡¼ ¼Û½ÅµÉ °¡´É¼ºÀÌ ÀÖ¾î, Ç༱Áö¿¡´Â ÀÓÀÇÀÇ ¼ø¼·Î µµ´ÞÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
UDP ºê·Îµåij½ºÆ® ¼Û½ÅÀº DatagramSocket »ó¿¡¼ Ç×»ó À¯È¿ÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. ºê¸£µåij½ºÆ®ÆÄÄÏÆ®¸¦ ¼ö½ÅÇÏ·Á¸é , DatagramSocket °¡ ¿ÍÀϵå Ä«µå ÁÖ¼Ò¿¡ ¹ÙÀÎµå µÇ°í ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ±¸Çö¿¡ µû¶ó¼´Â DatagramSocket °¡ ƯÁ¤ÀÇ ÁÖ¼Ò¿¡ ¹ÙÀÎµå µÇ°í ÀÖ´Â °æ¿ì¿¡µµ ºê·Îµåij½ºÆ® ÆÐŶÀ» ¼ö½ÅÇÏ´Â °Íµµ ÀÖ½À´Ï´Ù.
·Ê:
DatagramSocket s = new DatagramSocket(null); s.bind(new InetSocketAddress(8888));
À̰ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.
DatagramSocket s = new DatagramSocket(8888);
¾î´À ÂÊÀÇ °æ¿ìµµ, UDP Æ÷Åä 8888 ÀÇ ºê·Îµåij½ºÆ®¸¦ ¼ö½ÅÇÒ ¼ö ÀÖ´Â 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 ()
ÀÌ ¼ÒÄÏÀÌ Á¢¼ÓµÇ°í ÀÖ´Â ´Ü Á¡ÀÇ ÁÖ¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. |
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 °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
SocketException
- ¼ÒÄÏÀ» ¿ ¼ö°¡ ¾ø¾ú´ø °æ¿ì, ȤÀº ÁöÁ¤µÈ ·ÎÄà Æ÷Åä¿¡ ¼ÒÄÏÀ» ¹ÙÀεå ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen
¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSecurityManager.checkListen(int)
protected DatagramSocket(DatagramSocketImpl impl)
impl
- ¼ºê Ŭ·¡½º°¡ DatagramSocket »ó¿¡¼ »ç¿ëÇÏ´Â DatagramSocketImpl ÀÇ ÀνºÅϽºpublic DatagramSocket(SocketAddress bindaddr) throws SocketException
ÁÖ¼Ò°¡ null
ÀÇ °æ¿ì´Â ¾È ¹Ù¿îµåÀÇ ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen
¸Þ¼Òµå°¡, Àμö·Î¼ ¼ÒÄÏ ÁÖ¼ÒÀÇ Æ÷Å並 ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
bindaddr
- ¹ÙÀεå ÇÏ´Â ·ÎÄà ¼ÒÄÏ ÁÖ¼Ò. ¾È ¹Ù¿îµåÀÇ ¼ÒÄÏÀÇ °æ¿ì´Â null
SocketException
- ¼ÒÄÏÀ» ¿ ¼ö°¡ ¾ø¾ú´ø °æ¿ì, ȤÀº ÁöÁ¤µÈ ·ÎÄà Æ÷Åä¿¡ ¼ÒÄÏÀ» ¹ÙÀεå ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen
¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSecurityManager.checkListen(int)
public DatagramSocket(int port) throws SocketException
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen
¸Þ¼Òµå°¡, Àμö·Î¼ port
¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
port
- »ç¿ëÇÏ´Â Æ÷Åä
SocketException
- ¼ÒÄÏÀ» ¿ ¼ö°¡ ¾ø¾ú´ø °æ¿ì, ȤÀº ÁöÁ¤µÈ ·ÎÄà Æ÷Åä¿¡ ¼ÒÄÏÀ» ¹ÙÀεå ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen
¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSecurityManager.checkListen(int)
public DatagramSocket(int port, InetAddress laddr) throws SocketException
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen
¸Þ¼Òµå°¡, Àμö·Î¼ port
¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
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 °¡ ½½·Î¿ì µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¹¿Ü°¡ ½½·Î¿ì µÈ´Ù°í ÇÏ´Â ÇÁ·ÎÅØ¼ÇÀÌ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
ÁöÁ¤µÈ È£½ºÆ® ¹× Æ÷Åä¿ÍÀÇ µ¥ÀÌÅÍ ±×·¥ÀÇ ¼Û¼ö½ÅÀ» ÇàÇϱâ À§ÇÑ È£ÃâÃøÀÇ ¾×¼¼½º±ÇÀº Á¢¼Ó½Ã¿¡ È®Àε˴ϴÙ. ¼ÒÄÏÀÌ Á¢¼ÓµÇ¾úÀ» ¶§, ¼Û¼ö½Å¿¡¼´Â ÆÐŶÀÇ ¼ö½Å ¹× ¼Û½Å¿¡ ´ëÇÑ ½ÃÅ¥·¯Æ¼ üũ¸¦½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, ÆÐŶ°ú ¼ÒÄÏÀÇ ÁÖ¼Ò ¹× Æ÷Åä°¡ ÀÏÄ¡ÇÒÁö ¾î¶³ÁöÀÇ È®ÀÎÀº ½Ç½ÃÇÕ´Ï´Ù. ¼Û½ÅÀÇ Ã³¸®¿¡¼´Â ÆÐŶÀÇ ÁÖ¼Ò°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡, ÆÐŶÀÇ ÁÖ¼Ò¿Í ¼ÒÄÏÀÇ ÁÖ¼Ò°¡ ÀÏÄ¡ÇÏÁö ¾ÊÀ» ¶§´Â IllegalArgumentException °¡ ½½·Î¿ì µË´Ï´Ù. ¸ÖƼ ij½ºÆ® ÁÖ¼Ò¿¡ Á¢¼ÓµÇ°í ÀÖ´Â ¼ÒÄÏÀº ¼Û½Å ÆÐŶÀÎ ¸¸Å »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
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
- µµÀÔµÈ ¹öÁ¯:
- 1.4
- °ü·Ã Ç׸ñ:
getInetAddress()
,
getPort()
,
#connect(SocketAddress, int)
,
connect(SocketAddress)
public SocketAddress getLocalSocketAddress()
null ¸¦ µ¹·ÁÁÝ´Ï´Ù.
- ¹Ýȯ°ª:
- ÀÌ ¼ÒÄÏÀÇ ·ÎÄôÜÁ¡À» ³ªÅ¸³»´Â
SocketAddress
. ¼ÒÄÏÀÌ ¾ÆÁ÷ ¹ÙÀεåµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null
- µµÀÔµÈ ¹öÁ¯:
- 1.4
- °ü·Ã Ç׸ñ:
getLocalAddress()
,
getLocalPort()
,
bind(SocketAddress)
public void send(DatagramPacket p) throws IOException
DatagramPacket
¿¡´Â ¼Û½ÅÇÏ´Â µ¥ÀÌÅÍ, µ¥ÀÌÅÍÀÇ ±æÀÌ, ¸®¸ðÆ® È£½ºÆ®ÀÇ IP ÁÖ¼Ò, ¹× ¸®¸ðÆ® È£½ºÆ®»óÀÇ Æ÷Åä ¹øÈ£µîÀÇ Á¤º¸°¡ ÀúÀåµÇ°í ÀÖ½À´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ¼ÒÄÏÀÌ ¸®¸ðÆ® ÁÖ¼Ò¿¡ Á¢¼ÓµÇ¾î ÀÖÁö ¾ÊÀ» ¶§´Â ÀÌ ¸Þ¼Òµå´Â ¿ì¼± ÇϵîÀÇ ½ÃÅ¥·¯Æ¼ üũ¸¦ ½ÇÇàÇÕ´Ï´Ù. óÀ½Àº p.getAddress(). isMulticastAddress()
°¡ true ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast
¸Þ¼Òµå¸¦, Àμö·Î¼ p.getAddress()
¸¦ ÁöÁ¤ÇØ È£ÃâÇÕ´Ï´Ù. »ó±âÀÇ ½ÄÀÇ °á°ú°¡ false ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ´ë½Å¿¡ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkConnect
¸Þ¼Òµå¸¦, Àμö·Î¼ p.getAddress(). getHostAddress()
¹× p.getPort()
¸¦ ÁöÁ¤ÇØ È£ÃâÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¶ÀÛÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ °¢ ¸Þ¼Òµå È£ÃâÀÇ °á°ú´Â SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
p
- ¼Û½ÅµÇ´Â DatagramPacket
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast
¸Þ¼Òµå ¶Ç´Â checkConnect
°¡ ¼Û½ÅÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
PortUnreachableException
- ÇöÀç µµ´Þ ºÒ°¡´ÉÇÑ Á¢¼Ó ¸ÕÀú ¼ÒÄÏÀÌ Á¢¼ÓµÇ´Â °æ¿ì¿¡ ½½·Î¿ì µÇ´Â ÀÏÀÌ ÀÖ´Ù. ¿¹¿ÜÀÇ ½½·Î¿ì°¡ ÇÁ·ÎÅØ¼ÇµÇ´Â °ÍÀº ¾Æ´Ï´Ù
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
- ÇöÀç µµ´Þ ºÒ°¡´ÉÇÑ Á¢¼Ó ¸ÕÀú ¼ÒÄÏÀÌ Á¢¼ÓµÇ´Â °æ¿ì¿¡ ½½·Î¿ì µÇ´Â ÀÏÀÌ ÀÖ´Ù. ¿¹¿ÜÀÇ ½½·Î¿ì°¡ ÇÁ·ÎÅØ¼ÇµÇ´Â °ÍÀº ¾Æ´Ï´Ù
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()
¸¦ »ç¿ëÇØ SO_SNDBUF ÀÇ ¼³Á¤º¸´Ù Å« DatagramPacket
¸¦ ¼Û½ÅÇÏ´Â °æ¿ì, ÆÐŶÀÌ ¼Û½ÅµÉ±î ÆÄ±âµÉ±î´Â ±¸Çö¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
size
- ¼Û½Å ¹öÆÛ¿ëÀ¸·Î¼ ¼³Á¤ÇÏ´Â »çÀÌÁî. 0 º¸´Ù Å« °ªÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Ù
SocketException
- ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î UDP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
IllegalArgumentException
- Ä¡°¡ 0 ¶Ç´Â ºÎÀÇ °ªÀÎ °æ¿ìgetSendBufferSize()
public int getSendBufferSize() throws SocketException
SocketException
- ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î UDP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetSendBufferSize(int)
public void setReceiveBufferSize(int size) throws SocketException
SO_RCVBUF ´Â ÈùÆ®À̹ǷÎ, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¹öÆÛÀÇ »çÀÌÁî ¼³Á¤À» Á¶»çÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì´Â getReceiveBufferSize()
¸¦ È£ÃâÇØ ÁÖ¼¼¿ä.
SO_RCVBUF ÀÇ °ªÀ» Å©°Ô Çϸé(ÀÚ),#receive()
¸¦ »ç¿ëÇÑ ¼ö½Åº¸´Ù ºü¸£°Ô ÆÐŶÀÌ µµ´ÞÇÏ´Â °æ¿ì¿¡, ³×Æ®¿öÅ© ±¸Çö¿¡ ÀÇÇÑ º¹¼öÀÇ ÆÐŶÀÇ ¹öÆÛ¸µÀÌ °¡´ÉÇÏ°Ô µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
ÁÖ: SO_RCVBUF º¸´Ù Å« ÆÐŶÀ» ¼ö½ÅÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö´Â ±¸Çö¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
size
- ¼ö½Å ¹öÆÛ¿ëÀ¸·Î¼ ¼³Á¤ÇÏ´Â »çÀÌÁî. 0 º¸´Ù Å« °ªÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Ù
SocketException
- ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î UDP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
IllegalArgumentException
- Ä¡°¡ 0 ¶Ç´Â ºÎÀÇ °ªÀÎ °æ¿ìgetReceiveBufferSize()
public int getReceiveBufferSize() throws SocketException
SocketException
- ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î UDP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetReceiveBufferSize(int)
public void setReuseAddress(boolean on) throws SocketException
UDP ¼ÒÄÏÀÇ °æ¿ì, º¹¼öÀÇ ¼ÒÄÏÀ» °°Àº ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀεå ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ°Ô µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¸ÖƼ ij½ºÆ® ÆÐŶÀ» ¼ö½ÅÇϱâ À§Çؼ´Â Åë»ó ÀÌ¿Í °°ÀÌ ÇÕ´Ï´Ù (#java.net.MulticastSocket
¸¦ ÂüÁ¶). bind(SocketAddress)
¸¦ »ç¿ëÇØ ¼ÒÄÏÀ» ¹ÙÀεå Çϱâ Àü¿¡ SO_REUSEADDR ¼ÒÄÏ ¿É¼ÇÀÌ À¯È¿ÇÏ°Ô µÇ¾î ÀÖÀ¸¸é,SO_REUSEADDR ¼ÒÄÏ ¿É¼ÇÀ» »ç¿ëÇØ º¹¼öÀÇ ¼ÒÄÏÀ» µ¿ÀÏÇÑ ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀεå ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
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
- ºê·Îµåij½ºÆ®¸¦ ¿ÂÀ¸·Î ÇÒÁö ¾î¶³Áö¸¦ ÁöÁ¤
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 °¡ ½½·Î¿ì µË´Ï´Ù.
ÁÖ:
IP (Internet Protocol) ¹öÁ¯ 4 ÀÇ °æ¿ì, RFC 1349 ·Î ¼³¸íµÇ°í ÀÖ°Ô, ÀÌ °ªÀº ¿ì¼±µµÀÇ ³ôÀº octet ¿Í TOS Çʵå·Î ±¸¼ºµË´Ï´Ù. TOS Çʵå´Â ´ÙÀ½°ú °°ÀÌ ºñÆ® ´ÜÀ§ÀÇ ³í¸®ÇÕ¿¡ ÀÇÇØ ÀÛ¼ºµÇ´Â ºñÆ® ¼¼Æ®ÀÔ´Ï´Ù.
IPTOS_LOWCOST (0x02)
IPTOS_RELIABILITY (0x04)
IPTOS_THROUGHPUT (0x08)
IPTOS_LOWDELAY (0x10)
¿ì¼± Çʵ忡 ºñÆ®¸¦ ¼³Á¤Çϸé(ÀÚ), Á¶ÀÛÀÌ Çã°¡µÇÁö ¾Ê´Â °ÍÀ» ³ªÅ¸³»´Â SocketException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
IP (Internet Protocol) ¹öÁ¯ 6 ÀÇ °æ¿ì,tc
´Â IP Çì´õÀÇ sin6_flowinfo Çʵ忡 ÀúÀåµÇ´Â °ªÀÔ´Ï´Ù.
tc
- ºñÆ® ¼¼Æ®ÀÇ int
Ä¡
SocketException
- Æ®·¡ÇÈ Å¬·¡½º ¶Ç´Â ¼ºñ½º ŸÀÔÀ» ¼³Á¤ÇÒ °æ¿ì¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìgetTrafficClass()
public int getTrafficClass() throws SocketException
»ç¿ëÇÏ´Â ³×Æ®¿öÅ© ±¸ÇöÀÌ,#setTrafficClass()
¸¦ »ç¿ëÇØ ¼³Á¤µÈ Æ®·¡ÇÈ Å¬·¡½º ¶Ç´Â ¼ºñ½º ŸÀÔÀ» ¹«½ÃÇÏ´Â ÀÏÀÌ ÀÖÀ¸¹Ç·Î, ÀÌ DatagramSocket ·Î #setTrafficClass()
¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÌÀüÀ¸·Î ¼³Á¤µÈ °ª°ú´Â ´Ù¸¥ °ªÀÌ ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
SocketException
- Æ®·¡ÇÈ Å¬·¡½º ¶Ç´Â ¼ºñ½º ŸÀÔÄ¡¸¦ ÃëµæÇÒ °æ¿ì¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetTrafficClass(int)
public void close()
ÇöÀç ÀÌ ¼ÒÄÏÀÇ {#link receive} ·Î ºí·Ï ¶°³¯ ¼ö ÀÖ¾î ¸ðµç thread°¡ SocketException
¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¼ÒÄÏ¿¡ °ü·ÃÇϴ ä³ÎÀÌ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× ä³Îµµ ´ÝÇôÁý´Ï´Ù.
public boolean isClosed()
public DatagramChannel getChannel()
DatagramChannel
¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù (Á¸ÀçÇÏ´Â °æ¿ì).
ä³Î ÀÚü°¡ DatagramChannel.open
¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÛ¼ºµÇ¾úÀ» °æ¿ì¿¡¸¸, µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ¿¡ ä³ÎÀÌ Á¸ÀçÇÕ´Ï´Ù.
public static void setDatagramSocketImplFactory(DatagramSocketImplFactory fac) throws IOException
¾îÇø®ÄÉÀ̼ÇÀ¸·Î »õ·Î¿î µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏÀ» ÀÛ¼ºÇϸé(ÀÚ), ¼ÒÄÏ ±¸Çö ÆÑÅ丮ÀÇ createDatagramSocketImpl
¸Þ¼Òµå°¡ ºÒ·Á °¡ ½ÇÁ¦ÀÇ µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ ±¸ÇöÀÌ ÀÛ¼ºµË´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkSetFactory
¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
fac
- ¸ñÀûÀÇ ÆÑÅ丮
IOException
- µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ ÆÑÅ丮ÀÇ ¼³Á¤Áß¿¡ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SocketException
- ÆÑÅ丮°¡ ¹ú½á Á¤Àǵǰí ÀÖ´Â °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkSetFactory
¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìDatagramSocketImplFactory.createDatagramSocketImpl()
,
SecurityManager.checkSetFactory()
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.