JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.net
Ŭ·¡½º MulticastSocket

java.lang.Object 
  |
  +--java.net.DatagramSocket 
        |
        +--java.net.MulticastSocket

public class MulticastSocket
extends DatagramSocket

¸ÖƼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ Å¬·¡½º´Â IP ¸ÖƼ ij½ºÆ® ÆÐŶÀ» ¼Û¼ö½Å ÇÒ °æ¿ì¿¡ µµ¿òÀÌ µË´Ï´Ù. MulticastSocket ´Â ÀÎÅͳݻóÀÇ ´Ù¸¥ ¸ÖƼ ij½ºÆ® È£½ºÆ®ÀÇ ¡¸±×·ì¡¹¿¡ Âü°¡ÇÏ´Â Ãß°¡ ±â´ÉÀ» °¡Áö´Â (UDP) DatagramSocket ÀÔ´Ï´Ù.

¸ÖƼ ij½ºÆ® ±×·ìÀº Ŭ·¡½º D IP ÁÖ¼Ò ¹× Ç¥ÁØ UDP Æ÷Åä ¹øÈ£¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù. Ŭ·¡½º D IP ÁÖ¼ÒÀÇ ¹üÀ§´Â 224.0. 0.0 ¿¡¼­ 239.255. 255.255 ±îÁöÀÔ´Ï´Ù. ÁÖ¼Ò 224.0. 0.0 Àº ¿¹¾àµÇ°í ÀÖ¾î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

¸ÖƼ ij½ºÆ® ±×·ì¿¡ Âü°¡ÇÏ·Á¸é , ÃÖÃÊ·Î ¸ñÀûÀÇ Æ÷Åä·Î MulticastSocket ¸¦ ÀÛ¼ºÇØ, °è¼ÓµÇ¾î joinGroup(InetAddress groupAddr) ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.

// join a Multicast group and send the group salutations
 ...
String msg = "Hello";
InetAddress group = InetAddress.getByName("228.5. 6.7");
MulticastSocket s = new MulticastSocket(6789);
s.joinGroup(group);
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
group, 6789);
s.send(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, buf.length);
s.receive(recv);
 ...
// OK, I'm done talking - leave the group...
s.leaveGroup(group);
¸ÖƼ ij½ºÆ® ±×·ì¿¡ ¸Þ¼¼Áö¸¦ ¼Û½ÅÇϸé(ÀÚ), ±× È£½ºÆ®¿Í Æ÷ÅäÀǸðµçÂü°¡ÀÚ°¡ ¸Þ¼¼Áö¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù (´Ù¸¸ ÆÐŶÀÇ À¯È¿±â°£³»¿¡ ÇÑÁ¤µÈ´Ù. ÀÚ¼¼ÇÑ °ÍÀº Èļú). ¸ÖƼ ij½ºÆ® ±×·ì¿¡ ¸Þ¼¼Áö¸¦ ¼Û½ÅÇϱâ À§Çؼ­´Â ¼ÒÄÏÀÌ ±× ¸ÖƼ ij½ºÆ® ±×·ìÀÇ ¸â¹öÀÏ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

¼ÒÄÏÀÌ ¸ÖƼ ij½ºÆ® ±×·ì ¶Ç´Â Æ÷Åä¿¡ Âü°¡Çϸé(ÀÚ), ´Ù¸¥ È£½ºÆ®·ÎºÎÅÍ ±× ±×·ì ¶Ç´Â Æ÷Åä¿¡ ¼Û½ÅµÈ µ¥ÀÌÅÍ ±×·¥À» ¼ö½ÅÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±× ±×·ì°ú Æ÷ÅäÀÇ ´Ù¸¥ ¸â¹öµµ ¸ðµÎ °°Àº µ¥ÀÌÅÍ ±×·¥À» ¼ö½ÅÇÕ´Ï´Ù. ¼ÒÄÏÀ» ±×·ìÀ¸·ÎºÎÅÍ Á¦¿ÜÇÏ·Á¸é , leaveGroup(InetAddress addr) ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù. º¹¼öÀÇ MulticastSocket °¡ µ¿½Ã¿¡ ¸ÖƼ ij½ºÆ® ±×·ì°ú Æ÷Åä¿¡ Âü°¡ÇÒ ¼ö°¡ ÀÖ¾î ±×·¯ÇÑ MulticastSocket ´Â ¸ðµÎ °°Àº ±×·ì µ¥ÀÌÅÍ ±×·¥À» ¼ö½ÅÇÕ´Ï´Ù.

ÇöÀç·Î¼­´Â ¾ÖÇø´¿¡¼­´Â ¸ÖƼ ij½ºÆ® ¼ÒÄÏÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
JDK1. 1

»ý¼ºÀÚÀÇ °³¿ä
MulticastSocket ()
          ¸ÖƼ ij½ºÆ® ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.
MulticastSocket (int port)
          Æ¯Á¤ÀÇ Æ÷Åä¿¡ ¹ÙÀÎµå µÈ ¸ÖƼ ij½ºÆ® ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.
MulticastSocket (SocketAddress  bindaddr)
          ÁöÁ¤µÈ ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀÎµå µÈ MulticastSocket ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 InetAddress getInterface ()
          ¸ÖƼ ij½ºÆ® ÆÐŶ¿¡ »ç¿ëÇÏ´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽ºÀÇ ÁÖ¼Ò¸¦ ÃëµæÇÕ´Ï´Ù.
 boolean getLoopbackMode ()
          ¸ÖƼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥ÀÇ ·ÎÄà ·çÇÁ¹éÀÇ ¼³Á¤Ä¡¸¦ ÃëµæÇÕ´Ï´Ù.
 NetworkInterface getNetworkInterface ()
          ¸ÖƼ ij½ºÆ® ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.
 int getTimeToLive ()
          ÀÌ ¼ÒÄÏÀ¸·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ µðÆúÆ®ÀÇ À¯È¿±â°£À» ÃëµæÇÕ´Ï´Ù.
 byte getTTL ()
          Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.  ´ë½Å¿¡,byte ´Â ¾Æ´Ï°í int ¸¦ µ¹·ÁÁÖ´Â getTimeToLive ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
 void joinGroup (InetAddress  mcastaddr)
          ¸ÖƼ ij½ºÆ® ±×·ì¿¡ Âü°¡ÇÕ´Ï´Ù.
 void joinGroup (SocketAddress  mcastaddr, NetworkInterface  netIf)
          ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º·Î ÁöÁ¤µÈ ¸ÖƼ ij½ºÆ® ±×·ì¿¡ Âü°¡ÇÕ´Ï´Ù.
 void leaveGroup (InetAddress  mcastaddr)
          ¸ÖƼ ij½ºÆ® ±×·ìÀ¸·ÎºÎÅÍ ¸Ö¾îÁý´Ï´Ù.
 void leaveGroup (SocketAddress  mcastaddr, NetworkInterface  netIf)
          ÁöÁ¤µÈ ·ÎÄà ÀÎÅÍÆäÀ̽º»óÀÇ ¸ÖƼ ij½ºÆ® ±×·ìÀ¸·ÎºÎÅÍ ¸Ö¾îÁý´Ï´Ù.
 void send (DatagramPacket  p, byte ttl)
          Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.  ´ÙÀ½ÀÇ ÄÚµå ¶Ç´Â ±×°Í°ú µ¿µîÀÇ Äڵ带 »ç¿ëÇÑ´Ù: ...... int ttl = mcastSocket.getTimeToLive(); mcastSocket.setTimeToLive(newttl); mcastSocket.send(p); mcastSocket.setTimeToLive(ttl); ......
 void setInterface (InetAddress  inf)
          ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽ºÀÇ °ª¿¡ ÀÇÇØ ±× µ¿ÀÛÀÌ ¿µÇâÀ» ¹Þ´Â ¸Þ¼Òµå°¡ »ç¿ëÇÏ´Â ¸ÖƼ ij½ºÆ® ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 void setLoopbackMode (boolean disable)
          ¸ÖƼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥ÀÇ ·ÎÄà ·çÇÁ¹éÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù.
 void setNetworkInterface (NetworkInterface  netIf)
          ÀÌ ¼ÒÄÏÀ¸·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¼ÛÃâ ¸ÖÆ¼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥¿ëÀÇ ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
 void setTimeToLive (int ttl)
          ¸ÖƼ ij½ºÆ®ÀÇ ½ºÄÚÇÁ¸¦ Á¦¾îÇϱâ À§Çؼ­, ÀÌ MulticastSocket ·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ µðÆúÆ®ÀÇ À¯È¿±â°£À» ¼³Á¤ÇÕ´Ï´Ù.
 void setTTL (byte ttl)
          Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.  ´ë½Å¿¡, ttl ÀÇ ÇüÅ·μ­ byte ´Â ¾Æ´Ï°í int ¸¦ »ç¿ëÇÏ´Â setTimeToLive ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
 
Ŭ·¡½º java.net. DatagramSocket ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
bind , close , connect , connect , disconnect , getBroadcast , getChannel , getInetAddress , getLocalAddress , getLocalPort , getLocalSocketAddress , getPort , getReceiveBufferSize , getRemoteSocketAddress , getReuseAddress , getSendBufferSize , getSoTimeout , getTrafficClass , isBound , isClosed , isConnected , receive , send , setBroadcast , setDatagramSocketImplFactory , setReceiveBufferSize , setReuseAddress , setSendBufferSize , setSoTimeout , setTrafficClass
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

»ý¼ºÀÚÀÇ »ó¼¼

MulticastSocket

public MulticastSocket()
                throws IOException 
¸ÖƼ ij½ºÆ® ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen °¡, Àμö·Î¼­ 0 À» ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¼ÒÄÏÀÌ ÀÛ¼ºµÇ¸é(ÀÚ),DatagramSocket#setReuseAddress(true) ¸Þ¼Òµå°¡ ºÒ·Á °¡ SO_REUSEADDR ¼ÒÄÏ ¿É¼ÇÀÌ À¯È¿ÇÏ°Ô µË´Ï´Ù.

¿¹¿Ü:
IOException - MulticastSocket ÀÇ »ý¼ºÁß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
SecurityManager.checkListen(int) , DatagramSocket.setReuseAddress(boolean)

MulticastSocket

public MulticastSocket(int port)
                throws IOException 
ƯÁ¤ÀÇ Æ÷Åä¿¡ ¹ÙÀÎµå µÈ ¸ÖƼ ij½ºÆ® ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡, Àμö·Î¼­ port ¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¼ÒÄÏÀÌ ÀÛ¼ºµÇ¸é(ÀÚ),DatagramSocket#setReuseAddress(true) ¸Þ¼Òµå°¡ ºÒ·Á °¡ SO_REUSEADDR ¼ÒÄÏ ¿É¼ÇÀÌ À¯È¿ÇÏ°Ô µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
port - »ç¿ëÇÏ´Â Æ÷Åä
¿¹¿Ü:
IOException - MulticastSocket ÀÇ »ý¼ºÁß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
SecurityManager.checkListen(int) , DatagramSocket.setReuseAddress(boolean)

MulticastSocket

public MulticastSocket(SocketAddress  bindaddr)
                throws IOException 
ÁöÁ¤µÈ ¼ÒÄÏ ÁÖ¼Ò¿¡ ¹ÙÀÎµå µÈ MulticastSocket ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ȤÀº ÁÖ¼Ò°¡ null ÀÇ °æ¿ì´Â ¾È ¹Ù¿îµåÀÇ ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡, Àμö·Î¼­ SocketAddress Æ÷Å並 ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

¼ÒÄÏÀÌ ÀÛ¼ºµÇ¸é(ÀÚ),DatagramSocket#setReuseAddress(true) ¸Þ¼Òµå°¡ ºÒ·Á °¡ SO_REUSEADDR ¼ÒÄÏ ¿É¼ÇÀÌ À¯È¿ÇÏ°Ô µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
bindaddr - ¹ÙÀεå ÇÏ´Â ¼ÒÄÏ ÁÖ¼Ò. ¾È ¹Ù¿îµåÀÇ ¼ÒÄÏÀÇ °æ¿ì´Â null
¿¹¿Ü:
IOException - MulticastSocket ÀÇ »ý¼ºÁß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
SecurityManager.checkListen(int) , DatagramSocket.setReuseAddress(boolean)
¸Þ¼ÒµåÀÇ »ó¼¼

setTTL

public void setTTL(byte ttl)
            throws IOException 
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.  ´ë½Å¿¡, ttl ÀÇ ÇüÅ·μ­ byte ´Â ¾Æ´Ï°í int ¸¦ »ç¿ëÇÏ´Â setTimeToLive ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.

¸ÖƼ ij½ºÆ®ÀÇ ½ºÄÚÇÁ¸¦ Á¦¾îÇϱâ À§Çؼ­, ÀÌ MulticastSocket ·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ µðÆúÆ®ÀÇ À¯È¿±â°£À» ¼³Á¤ÇÕ´Ï´Ù.

ttl ´ÂºÎÈ£ ¾øÀ½ 8 ºñÆ® µ¥ÀÌÅÍÀ̹ǷÎ,0 <= ttl <= 0xFF ÀÇ ¹üÀ§°¡¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ttl - À¯È¿±â°£
¿¹¿Ü:
IOException - µðÆúÆ®ÀÇ À¯È¿±â°£Ä¡¸¦ ¼³Á¤Áß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
getTTL()

setTimeToLive

public void setTimeToLive(int ttl)
                   throws IOException 
¸ÖƼ ij½ºÆ®ÀÇ ½ºÄÚÇÁ¸¦ Á¦¾îÇϱâ À§Çؼ­, ÀÌ MulticastSocket ·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ µðÆúÆ®ÀÇ À¯È¿±â°£À» ¼³Á¤ÇÕ´Ï´Ù.

ttl ÀÇ ¹üÀ§´Â 0 <= ttl <= 255 °¡¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â IllegalArgumentException °¡ ½½·Î¿ì µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ttl - À¯È¿±â°£
¿¹¿Ü:
IOException - µðÆúÆ®ÀÇ À¯È¿±â°£Ä¡¸¦ ¼³Á¤Áß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
getTimeToLive()

getTTL

public byte getTTL()
            throws IOException 
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.  ´ë½Å¿¡,byte ´Â ¾Æ´Ï°í int ¸¦ µ¹·ÁÁÖ´Â getTimeToLive ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.

ÀÌ ¼ÒÄÏÀ¸·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ µðÆúÆ®ÀÇ À¯È¿±â°£À» ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
µðÆúÆ®ÀÇ À¯È¿±â°£Ä¡
¿¹¿Ü:
IOException - µðÆúÆ®ÀÇ À¯È¿±â°£Ä¡¸¦ ÃëµæÁß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
setTTL(byte)

getTimeToLive

public int getTimeToLive()
                  throws IOException 
ÀÌ ¼ÒÄÏÀ¸·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ µðÆúÆ®ÀÇ À¯È¿±â°£À» ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
µðÆúÆ®ÀÇ À¯È¿±â°£Ä¡
¿¹¿Ü:
IOException - µðÆúÆ®ÀÇ À¯È¿±â°£Ä¡¸¦ ÃëµæÁß¿¡ ÀÔÃâ·Â ¿¹¿Ü°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
setTimeToLive(int)

joinGroup

public void joinGroup(InetAddress  mcastaddr)
               throws IOException 
¸ÖƼ ij½ºÆ® ±×·ì¿¡ Âü°¡ÇÕ´Ï´Ù. µ¿ÀÛÀº setInterface ¶Ç´Â setNetworkInterface ÀÇ ¿µÇâÀ» ¹Þ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡, Àμö·Î¼­ mcastaddr ¸¦ ÁöÁ¤ÇØ ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
mcastaddr - Âü°¡ÇÏ´Â ¸ÖƼ ij½ºÆ® ÁÖ¼Ò
¿¹¿Ü:
IOException - Âü°¡¿¡ ¿¡·¯°¡ ÀÖ´ÂÁö ÁÖ¼Ò°¡ ¸ÖƼ ij½ºÆ® ÁÖ¼Ò°¡ ¾Æ´Ñ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡ Âü°¡¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
SecurityManager.checkMulticast(InetAddress)

leaveGroup

public void leaveGroup(InetAddress  mcastaddr)
                throws IOException 
¸ÖƼ ij½ºÆ® ±×·ìÀ¸·ÎºÎÅÍ ¸Ö¾îÁý´Ï´Ù. µ¿ÀÛÀº setInterface ¶Ç´Â setNetworkInterface ÀÇ ¿µÇâÀ» ¹Þ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡, Àμö·Î¼­ mcastaddr ¸¦ ÁöÁ¤ÇØ ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
mcastaddr - ¶³¾îÁö´Â ¸ÖƼ ij½ºÆ® ÁÖ¼Ò
¿¹¿Ü:
IOException - ¿¡·¯°¡ ³²¾Æ ÀÖ´ÂÁö ÁÖ¼Ò°¡ ¸ÖƼ ij½ºÆ® ÁÖ¼Ò°¡ ¾Æ´Ñ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
SecurityManager.checkMulticast(InetAddress)

joinGroup

public void joinGroup(SocketAddress  mcastaddr,
                      NetworkInterface  netIf)
               throws IOException 
ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º·Î ÁöÁ¤µÈ ¸ÖƼ ij½ºÆ® ±×·ì¿¡ Âü°¡ÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡, Àμö·Î¼­ mcastaddr ¸¦ ÁöÁ¤ÇØ ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
mcastaddr - Âü°¡ÇÏ´Â ¸ÖƼ ij½ºÆ® ÁÖ¼Ò
netIf - ¸ÖƼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥ ÆÐŶÀ» ¼ö½ÅÇÏ´Â ·ÎÄà ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤
¿¹¿Ü:
IOException - Âü°¡¿¡ ¿¡·¯°¡ ÀÖ´ÂÁö ÁÖ¼Ò°¡ ¸ÖƼ ij½ºÆ® ÁÖ¼Ò°¡ ¾Æ´Ñ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡ Âü°¡¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IllegalArgumentException - mcastaddr °¡ null ÀÎ °æ¿ì, ¶Ç´Â ÁÖ¼Ò°¡ ÀÌ ¼ÒÄÏÀ¸·Î ¼­Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº SocketAddress ¼­ºê Ŭ·¡½ºÀÎ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
SecurityManager.checkMulticast(InetAddress)

leaveGroup

public void leaveGroup(SocketAddress  mcastaddr,
                       NetworkInterface  netIf)
                throws IOException 
ÁöÁ¤µÈ ·ÎÄà ÀÎÅÍÆäÀ̽º»óÀÇ ¸ÖƼ ij½ºÆ® ±×·ìÀ¸·ÎºÎÅÍ ¸Ö¾îÁý´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡, Àμö·Î¼­ mcastaddr ¸¦ ÁöÁ¤ÇØ ºÒ·Á °©´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
mcastaddr - ¶³¾îÁö´Â ¸ÖƼ ij½ºÆ® ÁÖ¼Ò
netIf - ·ÎÄà ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤
¿¹¿Ü:
IOException - ¿¡·¯°¡ ³²¾Æ ÀÖ´ÂÁö ÁÖ¼Ò°¡ ¸ÖƼ ij½ºÆ® ÁÖ¼Ò°¡ ¾Æ´Ñ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IllegalArgumentException - mcastaddr °¡ null ÀÎ °æ¿ì, ¶Ç´Â ÁÖ¼Ò°¡ ÀÌ ¼ÒÄÏÀ¸·Î ¼­Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº SocketAddress ¼­ºê Ŭ·¡½ºÀÎ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
SecurityManager.checkMulticast(InetAddress)

setInterface

public void setInterface(InetAddress  inf)
                  throws SocketException 
³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽ºÀÇ °ª¿¡ ÀÇÇØ ±× µ¿ÀÛÀÌ ¿µÇâÀ» ¹Þ´Â ¸Þ¼Òµå°¡ »ç¿ëÇÏ´Â ¸ÖƼ ij½ºÆ® ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ¼³Á¤ÇÕ´Ï´Ù. multi-homedÀÇ È£½ºÆ®¿¡ Æí¸®ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inf - InetAddress
¿¹¿Ü:
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
getInterface()

getInterface

public InetAddress  getInterface()
                         throws SocketException 
¸ÖƼ ij½ºÆ® ÆÐŶ¿¡ »ç¿ëÇÏ´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽ºÀÇ ÁÖ¼Ò¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
¸ÖƼ ij½ºÆ® ÆÐŶ¿¡ »ç¿ëÇÏ´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽ºÀÇ ÁÖ¼Ò¸¦ ³ªÅ¸³»´Â InetAddress
¿¹¿Ü:
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
setInterface(java.net.InetAddress)

setNetworkInterface

public void setNetworkInterface(NetworkInterface  netIf)
                         throws SocketException 
ÀÌ ¼ÒÄÏÀ¸·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¼ÛÃâ ¸ÖÆ¼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥¿ëÀÇ ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
netIf - ÀÎÅÍÆäÀ̽º
¿¹¿Ü:
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
getNetworkInterface()

getNetworkInterface

public NetworkInterface  getNetworkInterface()
                                     throws SocketException 
¸ÖƼ ij½ºÆ® ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÇöÀç ¼³Á¤µÇ¾î ÀÖ´Â ¸ÖƼ ij½ºÆ® NetworkInterface
¿¹¿Ü:
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
#setNetworkInterface()

setLoopbackMode

public void setLoopbackMode(boolean disable)
                     throws SocketException 
¸ÖƼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥ÀÇ ·ÎÄà ·çÇÁ¹éÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº ¸ÖƼ ij½ºÆ® µ¥ÀÌÅ͸¦ ·ÎÄà ¼ÒÄÏ¿¡ ·çÇÁ¹é ÇÒÁö ¾î¶³Áö¸¦ ¼³Á¤ÇÏ´Â ÈùÆ®·Î¼­ Ç÷§ÆûÀÇ ³×Æ®¿öÅ© Äڵ尡 »ç¿ëÇÕ´Ï´Ù.

ÀÌ ¿É¼ÇÀº ÈùÆ®À̹ǷÎ, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ·çÇÁ ¹é ¸ðµåÀÇ ¼³Á¤À» Á¶»çÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì´Â getLoopbackMode() ¸¦ È£ÃâÇØ ÁÖ¼¼¿ä.

ÆÄ¶ó¹ÌÅÍ:
disable - LoopbackMode ¸¦ ¹«È¿·Î ÇÏ´Â °æ¿ì´Â true
¿¹¿Ü:
SocketException - Ä¡ÀÇ ¼³Á¤Áß¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
getLoopbackMode()

getLoopbackMode

public boolean getLoopbackMode()
                        throws SocketException 
¸ÖƼ ij½ºÆ® µ¥ÀÌÅÍ ±×·¥ÀÇ ·ÎÄà ·çÇÁ¹éÀÇ ¼³Á¤Ä¡¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
LoopbackMode °¡ ¹«È¿°¡ µÇ¾úÀ» °æ¿ì´Â true
¿¹¿Ü:
SocketException - Ä¡ÀÇ ÃëµæÁß¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
setLoopbackMode(boolean)

send

public void send(DatagramPacket  p,
                 byte ttl)
          throws IOException 
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù.  ´ÙÀ½ÀÇ ÄÚµå ¶Ç´Â ±×°Í°ú µ¿µîÀÇ Äڵ带 »ç¿ëÇÑ´Ù: ...... int ttl = mcastSocket.getTimeToLive(); mcastSocket.setTimeToLive(newttl); mcastSocket.send(p); mcastSocket.setTimeToLive(ttl); ......

±× ¼ÒÄÏÀÇ µðÆúÆ® °ª ÀÌ¿ÜÀÇ TTL (À¯È¿±â°£)¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ±×·¥ ÆÐŶÀ» Ç༱Áö¿¡ ¼Û½ÅÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ƯÁ¤ÀÇ TTL ¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì¿¡¸¸ »ç¿ëÇÕ´Ï´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì´Â ±× ¼ÒÄÏÀÇ TTL ¸¦ ÀÏ´Ü ¼³Á¤ÇØ, ¸ðµç ÆÐŶ¿¡ ±× TTL µðÆúÆ® °ª¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀÌ»óÀûÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ¼ÒÄÏÀÇ TTL µðÆúÆ® °ª¸¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. µ¿ÀÛÀº setInterface ÀÇ ¿µÇâÀ» ¹Þ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î ÇϵîÀÇ ½ÃÅ¥·¯Æ¼ üũ¸¦ ½ÇÇàÇÕ´Ï´Ù. p.getAddress(). isMulticastAddress() °¡ true À̸é, ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå¸¦, Àμö·Î¼­ p.getAddress() ¹× ttl ¸¦ ÁöÁ¤ÇØ È£ÃâÇÕ´Ï´Ù. »ó±âÀÇ ½ÄÀÇ °á°ú°¡ false ÀÎ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ´ë½Å¿¡ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkConnect ¸Þ¼Òµå¸¦, Àμö·Î¼­ p.getAddress(). getHostAddress() ¹× p.getPort() ¸¦ ÁöÁ¤ÇØ È£ÃâÇÕ´Ï´Ù. ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ °¢ ¸Þ¼Òµå È£ÃâÀÇ °á°ú´Â SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
p - ¼Û½ÅÇÏ´Â ÆÐŶ. ÆÐŶ¿¡´Â Ç༱Áö ¸ÖƼ ij½ºÆ® IP ÁÖ¼Ò¿Í ¼Û½Å µ¥ÀÌÅͰ¡ Æ÷ÇԵȴÙ. Ç༱Áö ¸ÖƼ ij½ºÆ® ÁÖ¼Ò¿¡ ÆÐŶÀ» ¼Û½ÅÇϱâ À§Çؼ­´Â ±× ±×·ìÀÇ ¸â¹öÀÏ ÇÊ¿ä´Â ¾ø´Â
ttl - ¸ÖƼ ij½ºÆ® ÆÐŶÀÇ À¯È¿±â°£ (ÀÓÀÇ). µðÆúÆ® ttl Ä¡´Â 1
¿¹¿Ü:
IOException - ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì (TTL ÀÇ ¼³Á¤Áß¿¡ ¿¡·¯°¡ ¹ß»ý)
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkMulticast ¸Þ¼Òµå ¶Ç´Â checkConnect °¡ ¼Û½ÅÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
DatagramSocket.send(java.net.DatagramPacket) , DatagramSocket.receive(java.net.DatagramPacket) , SecurityManager.checkMulticast(java.net.InetAddress, byte) , SecurityManager.checkConnect(java.lang.String, int)

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.