|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.net.DatagramSocket
public class 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 µ¥ÀÌÅÍ ±×·¥ Çì´õÀÇ Æ®·¡ÇÈ Å¬·¡½º ¶Ç´Â ¼ºñ½ºÇü 8ÁßâÀ» ¼³Á¤ÇÕ´Ï´Ù. |
Ŭ·¡½º 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°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¿¹¿Ü°¡ Throw µÈ´Ù°í ÇÏ´Â º¸ÁõÀÌ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
ÁöÁ¤µÈ È£½ºÆ® ¹× Æ÷Æ®¿ÍÀÇ µ¥ÀÌÅÍ ±×·¥ÀÇ ¼Û¼ö½ÅÀ» ÇàÇϱâ À§ÇÑ È£ÃâÃøÀÇ Á¢±Ù ±ÇÇÑÀº Á¢¼Ó½Ã¿¡ È®Àε˴ϴÙ. ¼ÒÄÏÀÌ Á¢¼ÓµÇ¾úÀ» ¶§, ¼Û¼ö½Å¿¡¼´Â ÆÐŶÀÇ ¼ö½Å ¹× ¼Û½Å¿¡ ´ëÇÑ ½ÃÅ¥·¯Æ¼ üũ¸¦½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, ÆÐŶ°ú ¼ÒÄÏÀÇ ÁÖ¼Ò ¹× Æ÷Æ®°¡ ÀÏÄ¡ÇÒÁö ¾î¶³ÁöÀÇ È®ÀÎÀº ½Ç½ÃÇÕ´Ï´Ù. ¼Û½ÅÀÇ Ã³¸®¿¡¼´Â ÆÐŶÀÇ ÁÖ¼Ò°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÆÐŶÀÇ ÁÖ¼Ò¿Í ¼ÒÄÏÀÇ ÁÖ¼Ò°¡ ÀÏÄ¡ÇÏÁö ¾ÊÀ» ¶§´Â 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
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ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå´Â ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast
¸Þ¼µå¸¦, Àμö·Î¼ p.getAddress()
¸¦ ÁöÁ¤ÇØ È£ÃâÇÕ´Ï´Ù. »ó±âÀÇ ½ÄÀÇ °á°ú°¡ falseÀÎ °æ¿ì, ÀÌ ¸Þ¼µå´Â ´ë½Å¿¡ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkConnect
¸Þ¼µå¸¦, Àμö·Î¼ p.getAddress(). getHostAddress()
¹× p.getPort()
¸¦ ÁöÁ¤ÇØ È£ÃâÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¶ÀÛÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ °¢ ¸Þ¼µå È£ÃâÀÇ °á°ú´Â SecurityException°¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
p
- ¼Û½ÅµÇ´Â DatagramPacket
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast
¸Þ¼µå ¶Ç´Â checkConnect
ÀÌ ¼Û½ÅÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
PortUnreachableException
- ÇöÀç µµ´Þ ºÒ°¡´ÉÇÑ Á¢¼Ó ¸ÕÀú ¼ÒÄÏÀÌ Á¢¼ÓµÇ´Â °æ¿ì¿¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ´Ù. ¿¹¿ÜÀÇ 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°¡ º¸ÁõµÇ´Â °ÍÀº ¾Æ´Ï´Ù
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 ¶Ç´Â À߸øµÈ °ª
ÀÎ °æ¿ì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 ¶Ç´Â À߸øµÈ °ª
ÀÎ °æ¿ìgetReceiveBufferSize()
public int getReceiveBufferSize() throws SocketException
SocketException
- ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î UDP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetReceiveBufferSize(int)
public void setReuseAddress(boolean on) throws SocketException
UDP ¼ÒÄÏÀÇ °æ¿ì, º¹¼öÀÇ ¼ÒÄÏÀ» °°Àº ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀεå ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ°Ô µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¸ÖƼ ij½ºÆ® ÆÐŶÀ» ¼ö½ÅÇϱâ À§Çؼ´Â º¸Åë
ÀÌ¿Í °°ÀÌ ÇÕ´Ï´Ù (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 ·Î ¼³¸íµÇ°í ÀÖµµ·Ï, ÀÌ °ªÀº ¿ì¼± ¼øÀ§ÀÇ ³ôÀº 8Áßâ°ú 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(int)
¸¦
»ç¿ëÇØ ¼³Á¤µÈ Æ®·¡ÇÈ Å¬·¡½º ¶Ç´Â ¼ºñ½ºÇüÀ» ¹«½ÃÇÏ´Â ÀÏÀÌ ÀÖÀ¸¹Ç·Î ÀÌ DatagramSocket ·Î setTrafficClass(int)
¸Þ¼µå¸¦ »ç¿ëÇØ ÀÌÀüÀ¸·Î ¼³Á¤µÈ °ª°ú´Â ´Ù¸¥ °ªÀÌ ÀÌ ¸Þ¼µå·ÎºÎÅÍ ¸®ÅϵÈ
ÀÏÀÌ ÀÖ½À´Ï´Ù.
SocketException
- Æ®·¡ÇÈ Å¬·¡½º ¶Ç´Â ¼ºñ½ºÇüÀÇ °ªÀ» ÃëµæÇÒ °æ¿ì¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetTrafficClass(int)
public void close()
ÇöÀç ÀÌ ¼ÒÄÏÀÇ {#link receive} ·Î ºí·Ï ¶°³¯ ¼ö ÀÖ¾î ¸ðµç thread°¡ SocketException
¸¦
Throw ÇÕ´Ï´Ù.
ÀÌ ¼ÒÄÏ¿¡ °ü·ÃµÈ ä³ÎÀÌ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× ä³Îµµ ´ÝÇôÁý´Ï´Ù.
public boolean isClosed()
public DatagramChannel getChannel()
DatagramChannel
°´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù (Á¸ÀçÇÏ´Â °æ¿ì).
ä³Î ÀÚü°¡ DatagramChannel.open
¸Þ¼µå¸¦ »ç¿ëÇØ ÀÛ¼ºµÇ¾úÀ» °æ¿ì¿¡¸¸, µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ¿¡ ä³ÎÀÌ Á¸ÀçÇÕ´Ï´Ù.
public static void setDatagramSocketImplFactory(DatagramSocketImplFactory fac) throws IOException
¾îÇø®ÄÉÀ̼ÇÀ¸·Î »õ·Î¿î µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏÀ» ÀÛ¼ºÇϸé, ¼ÒÄÏ ±¸Çö ÆÑÅ丮ÀÇ createDatagramSocketImpl
¸Þ¼µå°¡ ºÒ·Á°¡
½ÇÁ¦ÀÇ µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ ±¸ÇöÀÌ ÀÛ¼ºµË´Ï´Ù.
ÆÑÅ丮°¡ À̹Ì
¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº ÇÑ, ¸Þ¼µå¿¡ null
À»
°Ç³×Á־ ¾Æ¹«°Íµµ ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkSetFactory
¸Þ¼µå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException°¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
fac
- ¸ñÀûÀÇ ÆÑÅ丮
IOException
- µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ ÆÑÅ丮ÀÇ ¼³Á¤Áß¿¡ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SocketException
- ÆÑÅ丮°¡ À̹Ì
Á¤Àǵǰí ÀÖ´Â °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkSetFactory
¸Þ¼µå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìDatagramSocketImplFactory.createDatagramSocketImpl()
,
SecurityManager.checkSetFactory()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.