|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
java.lang.Object | +--java.net.ServerSocket
¼¹ö ¼ÒÄÏÀ» ±¸ÇöÇϴ Ŭ·¡½ºÀÔ´Ï´Ù. ¼¹ö ¼ÒÄÏÀº ³×Æ®¿öÅ©¸¦ °³ÀÔ½ÃÄÑ ¿ä±¸°¡ º¸³»Á® ¿À´Â °ÍÀ» ±â´Ù¸³´Ï´Ù. ±× ¿ä±¸¿¡ ±Ù°ÅÇØ 󸮸¦ ½Ç½ÃÇØ, °æ¿ì¿¡ µû¶ó¼´Â ¿ä±¸ ¹ÙÅÁÀ¸·Î °á°ú¸¦ µ¹·ÁÁÝ´Ï´Ù.
¼¹ö ¼ÒÄÏÀÇ ½ÇÁ¦ÀÇ Ã³¸®´Â SocketImpl Ŭ·¡½ºÀÇ ÀνºÅϽº¿¡ ÀÇÇØ ÇàÇØÁý´Ï´Ù. ¾îÇø®ÄÉÀ̼ǿ¡¼´Â ¼ÒÄÏÀ» ÀÛ¼ºÇÏ´Â ¼ÒÄÏ ÆÑÅ丮¸¦ º¯°æÇØ, ·ÎÄà ÆÄÀÌ¾î ¿ù(fire wall)¿¡ ÀûÀýÇÑ ¼ÒÄÏÀ» ÀÛ¼ºÇϵµ·Ï(µíÀÌ) ¾îÇø®ÄÉÀÌ¼Ç ÀÚ½ÅÀ» ±¸¼ºÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
SocketImpl ,
setSocketFactory(java.net.SocketImplFactory) ,
ServerSocketChannel | »ý¼ºÀÚÀÇ °³¿ä | |
ServerSocket ()
¾È ¹Ù¿îµåÀÇ ¼¹ö ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù. |
|
ServerSocket (int port)
ÁöÁ¤µÈ Æ÷Åä»ó¿¡ ¼¹ö ¼ÒÄÏÀ» ÀÛ¼ºÇÕ´Ï´Ù. |
|
ServerSocket (int port,
int backlog)
¼¹ö ¼ÒÄÏÀ» ÀÛ¼ºÇØ, ÁöÁ¤µÈ ¹é ·Î±×·Î ÁöÁ¤µÈ ·ÎÄà Æ÷Åä ¹øÈ£¿¡ ¹ÙÀεå ÇÕ´Ï´Ù. |
|
ServerSocket (int port,
int backlog,
InetAddress bindAddr)
ÁöÁ¤µÈ Æ÷Åä, ´ë±âÇÏ´Â ¹é ·Î±× ¹× ·ÎÄà IP ÁÖ¼Ò¸¦ »ç¿ëÇØ, ¼¹ö¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
| ¸Þ¼ÒµåÀÇ °³¿ä | |
Socket |
accept ()
ÀÌ ¼ÒÄÏ¿¡ ´ëÇÑ Á¢¼Ó ¿ä±¸¸¦ ´ë±âÇØ, ±×°ÍÀ» ¹Þ½À´Ï´Ù. |
void |
bind (SocketAddress endpoint)
ServerSocket ¸¦ ƯÁ¤ÀÇ ÁÖ¼Ò (IP ÁÖ¼Ò ¹× Æ÷Åä ¹øÈ£)¿¡ ¹ÙÀεå ÇÕ´Ï´Ù.
|
void |
bind (SocketAddress endpoint,
int backlog)
ServerSocket ¸¦ ƯÁ¤ÀÇ ÁÖ¼Ò (IP ÁÖ¼Ò ¹× Æ÷Åä ¹øÈ£)¿¡ ¹ÙÀεå ÇÕ´Ï´Ù.
|
void |
close ()
ÀÌ ¼ÒÄÏÀ» ´Ý½À´Ï´Ù. |
ServerSocketChannel |
getChannel ()
ÀÌ ¼ÒÄÏ¿¡ °ü·ÃÇÏ´Â °íÀ¯ÀÇ ServerSocketChannel ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù (Á¸ÀçÇÏ´Â °æ¿ì).
|
InetAddress |
getInetAddress ()
ÀÌ ¼¹ö ¼ÒÄÏÀÇ ·ÎÄà ÁÖ¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. |
int |
getLocalPort ()
ÀÌ ¼ÒÄÏÀÌ Á¢¼ÓÀ» ´ë±âÁßÀÇ Æ÷Å並 µ¹·ÁÁÝ´Ï´Ù. |
SocketAddress |
getLocalSocketAddress ()
ÀÌ ¼ÒÄÏÀÌ ¹ÙÀÎµå µÇ°í ÀÖ´Â ´Ü Á¡ÀÇ ÁÖ¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. |
int |
getReceiveBufferSize ()
ÀÌ ServerSocket ·Î »ç¿ëµÇ´Â SO_RCVBUF ¿É¼ÇÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. |
boolean |
getReuseAddress ()
SO_REUSEADDR °¡ À¯È¿ÇѰ¡ ¾î¶²°¡¸¦ Á¶»çÇÕ´Ï´Ù. |
int |
getSoTimeout ()
SO_TIMEOUT ÀÇ ¼³Á¤À» ÃëµæÇÕ´Ï´Ù. |
protected void |
implAccept (Socket s)
ServerSocket ÀÇ ¼ºê Ŭ·¡½º¿¡¼´Â ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¼ÒÄÏÀÇ µ¶ÀÚÀûÀÎ ¼ºê Ŭ·¡½º¸¦ µ¹·ÁÁÖµµ·Ï(µíÀÌ) accept()¸¦ ¿À¹ö¶óÀ̵å(override) ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
boolean |
isBound ()
ServerSocket ÀÇ ¹ÙÀεù »óŸ¦ µ¹·ÁÁÝ´Ï´Ù. |
boolean |
isClosed ()
ServerSocket °¡ ´ÝÀº »óŸ¦ µ¹·ÁÁÝ´Ï´Ù. |
void |
setReceiveBufferSize (int size)
ÀÌ ServerSocket ·ÎºÎÅÍ ¹Þ¾ÆµéÀÎ ¼ÒÄÏ¿¡ ´ëÇØ¼ SO_RCVBUF ¿É¼ÇÀÇ µðÆúÆ®ÀÇ Ãßõġ¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
void |
setReuseAddress (boolean on)
SO_REUSEADDR ¼ÒÄÏ ¿É¼ÇÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. |
static void |
setSocketFactory (SocketImplFactory fac)
¾îÇø®ÄÉÀ̼ÇÀÇ ¼¹ö ¼ÒÄÏ ±¸Çö ÆÑÅ丮¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
void |
setSoTimeout (int timeout)
ÁöÁ¤µÈ ŸÀÓ ¾Æ¿ô (¹Ð¸® ¼¼ÄÁµå ´ÜÀ§)À» »ç¿ëÇØ SO_TIMEOUT ¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. |
String |
toString ()
ÀÌ ¼ÒÄÏÀÇ ±¸Çö ÁÖ¼Ò¿Í ±¸Çö Æ÷Å並 String ·Î¼ µ¹·ÁÁÝ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
| »ý¼ºÀÚÀÇ »ó¼¼ |
public ServerSocket()
throws IOException
IOException - ¼ÒÄÏÀ» ¿ ¶§ÀÇ ÀÔÃâ·Â ¿¡·¯
public ServerSocket(int port)
throws IOException
0 À» ÁöÁ¤Çϸé(ÀÚ), ºñ¾î ÀÖ´Â Æ÷Åä»ó¿¡ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
¼ö½ÅÇÏ´Â Á¢¼Ó (Á¢¼Ó ¿ä±¸)ÀÇ ±â´Ù¸®´Â Çà·ÄÀÇ ÃÖ´ëÀåÀº 50 À¸·Î ¼³Á¤µË´Ï´Ù. ±â´Ù¸®´Â Çà·ÄÀÌ ¸Þ¿öÁö°í ÀÖÀ» ¶§ Á¢¼Ó ¿ä±¸°¡ ÀÖÀ¸¸é(ÀÚ), Á¢¼ÓÀº °ÅºÎµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¼¹ö ¼ÒÄÏ ÆÑÅ丮¸¦ ÁöÁ¤Çϰí ÀÖ´Â °æ¿ì´Â ±× ÆÑÅ丮ÀÇ createSocketImpl ¸Þ¼Òµå°¡ ºÒ·Á °¡ ½ÇÁ¦ÀÇ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ¡¸ÇÁ·¹ÀÎÀΡ¹¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡, Àμö·Î¼ port ¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
port - Æ÷Åä ¹øÈ£. ºñ¾î ÀÖ´Â Æ÷Å並 »ç¿ëÇÏ´Â °æ¿ì´Â 0
IOException - ¼ÒÄÏÀ» ¿°í ÀÖÀ» ¶§ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSocketImpl ,
SocketImplFactory.createSocketImpl() ,
setSocketFactory(java.net.SocketImplFactory) ,
SecurityManager.checkListen(int)
public ServerSocket(int port,
int backlog)
throws IOException
0 À» ÁöÁ¤Çϸé(ÀÚ), ºñ¾î ÀÖ´Â Æ÷Åä»ó¿¡ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
¼ö½ÅÇÏ´Â Á¢¼Ó (Á¢¼Ó ¿ä±¸)ÀÇ ±â´Ù¸®´Â Çà·ÄÀÇ ÃÖ´ëÀåÀº backlog ÆÄ¶ó¹ÌÅÍÀÇ °ªÀ¸·Î ¼³Á¤µË´Ï´Ù. ±â´Ù¸®´Â Çà·ÄÀÌ ¸Þ¿öÁö°í ÀÖÀ» ¶§ Á¢¼Ó ¿ä±¸°¡ ÀÖÀ¸¸é(ÀÚ), Á¢¼ÓÀº °ÅºÎµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¼¹ö ¼ÒÄÏ ÆÑÅ丮¸¦ ÁöÁ¤Çϰí ÀÖ´Â °æ¿ì´Â ±× ÆÑÅ丮ÀÇ createSocketImpl ¸Þ¼Òµå°¡ ºÒ·Á °¡ ½ÇÁ¦ÀÇ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ¡¸ÇÁ·¹ÀÎÀΡ¹¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡, Àμö·Î¼ port ¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
backlog Àμö´Â 0 º¸´Ù Å« Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. °Ç³×¹ÞÀº °ªÀÌ 0 ÀÌÇÏÀÇ °æ¿ì´Â µðÆúÆ®ÀÇ °ªÀÌ »ç¿ëµË´Ï´Ù.
port - »ç¿ëÇÏ´Â Æ÷Åä. ºñ¾î ÀÖ´Â Æ÷Å並 »ç¿ëÇÏ´Â °æ¿ì´Â 0backlog - Å¥ÀÇ ÃÖ´ëÀå
IOException - ¼ÒÄÏÀ» ¿°í ÀÖÀ» ¶§ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSocketImpl ,
SocketImplFactory.createSocketImpl() ,
setSocketFactory(java.net.SocketImplFactory) ,
SecurityManager.checkListen(int)
public ServerSocket(int port,
int backlog,
InetAddress bindAddr)
throws IOException
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡, Àμö·Î¼ port ¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
backlog Àμö´Â 0 º¸´Ù Å« Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. °Ç³×¹ÞÀº °ªÀÌ 0 ÀÌÇÏÀÇ °æ¿ì´Â µðÆúÆ®ÀÇ °ªÀÌ »ç¿ëµË´Ï´Ù.
port - ·ÎÄà TCP Æ÷Åäbacklog - ´ë±âÇÏ´Â ¹é ·Î±×bindAddr - ¼¹ö¸¦ ¹ÙÀεå ÇÏ´Â ·ÎÄà InetAddress
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException - ¼ÒÄÏÀ» ¿°í ÀÖÀ» ¶§ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìSocketOptions ,
SocketImpl ,
SecurityManager.checkListen(int) | ¸Þ¼ÒµåÀÇ »ó¼¼ |
public void bind(SocketAddress endpoint)
throws IOException
ServerSocket ¸¦ ƯÁ¤ÀÇ ÁÖ¼Ò (IP ÁÖ¼Ò ¹× Æ÷Åä ¹øÈ£)¿¡ ¹ÙÀεå ÇÕ´Ï´Ù.
ÁÖ¼Ò°¡ null ÀÇ °æ¿ì´Â ½Ã½ºÅÛ¿¡ ÀÇÇØ ÀϽÃÀûÀÎ Æ÷Åä¿Í À¯È¿ÇÑ ·ÎÄà ÁÖ¼Ò°¡ ¼±ÅÃµÇ¾î ¼ÒÄÏÀÌ ¹ÙÀÎµå µË´Ï´Ù.
endpoint - ¹ÙÀεåóÀÇ IP ÁÖ¼Ò ¹× Æ÷Åä ¹øÈ£
IOException - ¹ÙÀεå Á¶ÀÛ¿¡ ½ÇÆÐÇßÀ» °æ¿ì, ȤÀº ¼ÒÄÏÀÌ ¹ú½á ¹ÙÀÎµå µÇ°í ÀÖ´Â °æ¿ì
SecurityException - SecurityManager °¡ Á¸ÀçÇØ, ±× checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IllegalArgumentException - ´Ü Á¡ÀÌ ÀÌ ¼ÒÄÏÀ¸·Î ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº SocketAddress ¼ºê Ŭ·¡½ºÀÎ °æ¿ì
public void bind(SocketAddress endpoint,
int backlog)
throws IOException
ServerSocket ¸¦ ƯÁ¤ÀÇ ÁÖ¼Ò (IP ÁÖ¼Ò ¹× Æ÷Åä ¹øÈ£)¿¡ ¹ÙÀεå ÇÕ´Ï´Ù.
ÁÖ¼Ò°¡ null ÀÇ °æ¿ì´Â ½Ã½ºÅÛ¿¡ ÀÇÇØ ÀϽÃÀûÀÎ Æ÷Åä¿Í À¯È¿ÇÑ ·ÎÄà ÁÖ¼Ò°¡ ¼±ÅÃµÇ¾î ¼ÒÄÏÀÌ ¹ÙÀÎµå µË´Ï´Ù.
backlog Àμö´Â 0 º¸´Ù Å« Á¤ÀÇ °ªÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. °Ç³×¹ÞÀº °ªÀÌ 0 ÀÌÇÏÀÇ °æ¿ì´Â µðÆúÆ®ÀÇ °ªÀÌ »ç¿ëµË´Ï´Ù.
endpoint - ¹ÙÀεåóÀÇ IP ÁÖ¼Ò ¹× Æ÷Åä ¹øÈ£backlog - ´ë±âÇÏ´Â ¹é ·Î±×ÀÇ ±æÀÌ
IOException - ¹ÙÀεå Á¶ÀÛ¿¡ ½ÇÆÐÇßÀ» °æ¿ì, ȤÀº ¼ÒÄÏÀÌ ¹ú½á ¹ÙÀÎµå µÇ°í ÀÖ´Â °æ¿ì
SecurityException - SecurityManager °¡ Á¸ÀçÇØ, ±× checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IllegalArgumentException - ´Ü Á¡ÀÌ ÀÌ ¼ÒÄÏÀ¸·Î ¼Æ÷Æ®µÇ¾î ÀÖÁö ¾ÊÀº SocketAddress ¼ºê Ŭ·¡½ºÀÎ °æ¿ìpublic InetAddress getInetAddress()
nullpublic int getLocalPort()
public SocketAddress getLocalSocketAddress()
null ¸¦ µ¹·ÁÁÝ´Ï´Ù.
- ¹Ýȯ°ª:
- ÀÌ ¼ÒÄÏÀÇ ·ÎÄôÜÁ¡À» ³ªÅ¸³»´Â
SocketAddress. ¼ÒÄÏÀÌ ¾ÆÁ÷ ¹ÙÀεåµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null - µµÀÔµÈ ¹öÁ¯:
- 1.4
- °ü·Ã Ç׸ñ:
getInetAddress() ,
getLocalPort() ,
bind(SocketAddress)
public Socket accept()
throws IOException
»õ·Î¿î ¼ÒÄÏ s °¡ ÀÛ¼ºµÇ¾î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkAccept ¸Þ¼Òµå°¡, Àμö·Î¼ s.getInetAddress(). getHostAddress() ¹× s.getPort() ¸¦ ÁöÁ¤ÇØ ºÒ·Á °¡ ÀÌ Á¶ÀÛÀÇ ½ÇÇàÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
IOException - Á¢¼ÓÀÇ ´ë±âÁß¿¡ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkListen ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
SocketTimeoutException - ÀÌÀü¿¡ setSoTimeout ¸¦ »ç¿ëÇØ ŸÀÓ ¾Æ¿ôÀÌ ¼³Á¤µÇ¾î ±× ŸÀÓ ¾Æ¿ô¿¡ À̸£·¶À» °æ¿ì
IllegalBlockingModeException - ÀÌ ¼ÒÄÏ¿¡ °ü·ÃÇϴ ä³ÎÀÌ Á¸ÀçÇØ, ±× ä³ÎÀÌ ºñºí·ÎÅ· ¸ðµåÀÇ °æ¿ìSecurityManager.checkAccept(java.lang.String, int)
protected final void implAccept(Socket s)
throws IOException
s - ¼ÒÄÏ
IllegalBlockingModeException - ÀÌ ¼ÒÄÏ¿¡ °ü·ÃÇϴ ä³ÎÀÌ Á¸ÀçÇØ, ±× ä³ÎÀÌ ºñºí·ÎÅ· ¸ðµåÀÇ °æ¿ì
IOException - Á¢¼ÓÀÇ ´ë±âÁß¿¡ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
public void close()
throws IOException
accept() ·Î ºí·Ï ¶°³¯ ¼ö ÀÖ¾î ¸ðµç thread°¡ SocketException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¼ÒÄÏ¿¡ °ü·ÃÇϴ ä³ÎÀÌ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× ä³Îµµ ´ÝÇôÁý´Ï´Ù.
IOException - ¼ÒÄÏÀ» ´ÝÀ» ¶§ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic ServerSocketChannel getChannel()
ServerSocketChannel ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù (Á¸ÀçÇÏ´Â °æ¿ì).
ä³Î ÀÚü°¡ ServerSocketChannel.open ¸Þ¼Òµå¸¦ »ç¿ëÇØ ÀÛ¼ºµÇ¾úÀ» °æ¿ì¿¡¸¸, ¼¹ö ¼ÒÄÏ¿¡ ä³ÎÀÌ Á¸ÀçÇÕ´Ï´Ù.
public boolean isBound()
public boolean isClosed()
public void setSoTimeout(int timeout)
throws SocketException
timeout - ¹Ð¸® ¼¼ÄÁµå·Î ³ªÅ¸³»Áö´Â ÁöÁ¤µÈ ŸÀÓ ¾Æ¿ô
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìgetSoTimeout()
public int getSoTimeout()
throws IOException
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetSoTimeout(int)
public void setReuseAddress(boolean on)
throws SocketException
TCP Á¢¼ÓÀ» ´ÝÀ¸¸é(ÀÚ), Á¢¼ÓÀÌ ´ÝÀº µÚ, Á¢¼ÓÀÌ ÀÏÁ¤ÇÑ ½Ã°£ ŸÀÓ ¾Æ¿ô »óÅ´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù (Åë»ó,TIME_WAIT »óÅ ¶Ç´Â 2MSL ´ë±â »óÅ·ΠºÒ¸°´Ù). ÁÖÁöÀÇ ¼ÒÄÏ ÁÖ¼Ò ¶Ç´Â Æ÷Å並 »ç¿ëÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì, ¼ÒÄÏ ÁÖ¼Ò ¶Ç´Â Æ÷Åä¿¡ °ü·ÃÇÏ´Â Á¢¼ÓÀÌ Å¸ÀÓ ¾Æ¿ô »óÅ¿¡ ÀÖÀ¸¸é(ÀÚ), ¼ÒÄÏÀ» ÇÊ¿äÇÑ SocketAddress ¿¡ ¹ÙÀεå ÇÒ ¼ö ¾ø´Â °ÍÀÌ ÀÖ½À´Ï´Ù.
bind(SocketAddress) ¸¦ »ç¿ëÇØ ¼ÒÄÏÀ» ¹ÙÀεå Çϱâ Àü¿¡ SO_REUSEADDR ¸¦ À¯È¿ÇÏ°Ô Çϸé(ÀÚ), ÀÌÀüÀÇ Á¢¼ÓÀÌ Å¸ÀÓ ¾Æ¿ô »óÅ¿¡¼µµ ¼ÒÄÏÀ» ¹ÙÀεå ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
ServerSocket °¡ ÀÛ¼ºµÇ¸é(ÀÚ),SO_REUSEADDR ÀÇ Ãʱ⼳Á¤Àº Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº getReuseAddress() ¸¦ »ç¿ëÇØ SO_REUSEADDR ÀÇ Ãʱ⼳Á¤À» ÆÇÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¼ÒÄÏÀÌ ¹ÙÀÎµå µÇ¾ú´Ù (isBound() ¸¦ ÂüÁ¶) ³ªÁß¿¡ SO_REUSEADDR ¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÏ´Â °æ¿ìÀÇ µ¿ÀÛÀº Á¤Àǵǰí ÀÖÁö ¾Ê½À´Ï´Ù.
on - ¼ÒÄÏ ¿É¼ÇÀ» À¯È¿ÇÏ°Ô ÇÒ±î ¹«È¿·Î ÇÏ´ÂÁö¸¦ ÁöÁ¤
SocketException - SO_RESUEADDR ¼ÒÄÏ ¿É¼ÇÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÒ °æ¿ì¿¡ ¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì, ȤÀº ¼ÒÄÏÀÌ ´Ý°í ÀÖ´Â °æ¿ìgetReuseAddress() ,
bind(SocketAddress) ,
isBound() ,
isClosed()
public boolean getReuseAddress()
throws SocketException
boolean Ä¡
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetReuseAddress(boolean) public String toString()
String ·Î¼ µ¹·ÁÁÝ´Ï´Ù.
Object ³»ÀÇ toString
public static void setSocketFactory(SocketImplFactory fac)
throws IOException
¾îÇø®ÄÉÀ̼ÇÀ¸·Î »õ·Î¿î ¼¹ö ¼ÒÄÏÀ» ÀÛ¼ºÇϸé(ÀÚ), ¼ÒÄÏ ±¸Çö ÆÑÅ丮ÀÇ createSocketImpl ¸Þ¼Òµå°¡ ºÒ·Á °¡ ½ÇÁ¦ÀÇ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkSetFactory ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, ÀÌ Á¶ÀÛÀÌ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ÀÌ °á°ú, SecurityException °¡ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
fac - ¸ñÀûÀÇ ÆÑÅ丮
IOException - ¼ÒÄÏ ÆÑÅ丮ÀÇ ¼³Á¤Áß¿¡ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
SocketException - ÆÑÅ丮°¡ ¹ú½á Á¤Àǵǰí ÀÖ´Â °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkSetFactory ¸Þ¼Òµå°¡ ÀÌ Á¶ÀÛÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSocketImplFactory.createSocketImpl() ,
SecurityManager.checkSetFactory()
public void setReceiveBufferSize(int size)
throws SocketException
accept() ¿¡ ÀÇÇØ ¼ÒÄÏÀÌ µ¹·ÁÁÖ¾îÁø ÈÄ¿¡,Socket.getReceiveBufferSize() ¸¦ È£ÃâÇØ ÆÇÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
SO_RCVBUF ÀÇ °ªÀº ³»ºÎ ¼ÒÄÏ ¼ö½Å ¹öÆÛÀÇ »çÀÌÁîÀÇ ¼³Á¤°ú ¸®¸ðÆ® ÇǾ ÅëÁöµÇ´Â TCP ¼ö½Å À©µµ¿ìÀÇ »çÀÌÁîÀÇ ¼³Á¤ÀÇ ¾çÂÊ ¸ðµÎ¿¡ »ç¿ëµË´Ï´Ù.
±× ÈÄ,Socket.setReceiveBufferSize(int) ¸¦ È£ÃâÇØ ÀÌ °ªÀ» º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù¸¸, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î 64K ¹ÙÀÌÆ®¸¦ ³Ñ´Â ¼ö½Å À©µµ¿ì¸¦ Çã°¡ÇÏ´Â °æ¿ì´Â RFC1323 ¿¡ Á¤Àǵǰí ÀÖ°Ô, ·ÎÄà ÁÖ¼Ò¿¡ ¹ÙÀεå ÇϱâÀü¿¡ Ãßõġ¸¦ ServerSocket ·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰ÍÀº Àμö ¾øÀ½ÀÇ constructor¸¦ »ç¿ëÇØ ServerSocket ¸¦ ÀÛ¼ºÇØ, ´ÙÀ½¿¡ setReceiveBufferSize()¸¦ È£ÃâÇØ, ¸¶Áö¸·¿¡ bind()¸¦ È£ÃâÇØ ServerSocket ¸¦ ÁÖ¼Ò¿¡ ¹ÙÀεå ÇÒ Çʿ䰡 ÀÖ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
À̰Ϳ¡ ½ÇÆÐÇØµµ ¿¡·¯´Â ¹ß»ýÇÏÁö ¾Ê°í ¹öÆÛ »çÀÌÁî´Â ¿ä±¸µÈ °ªÀ¸·Î ¼³Á¤µË´Ï´Ù. ´Ù¸¸, ÀÌ ServerSocket ·ÎºÎÅÍ ¹Þ´Â ¼ÒÄÏÀÇ TCP ¼ö½Å À©µµ¿ì´Â 64K ¹ÙÀÌÆ® ÀÌÇϰ¡ µË´Ï´Ù.
size - ¼ö½Å ¹öÆÛ¿ëÀ¸·Î¼ ¼³Á¤ÇÏ´Â »çÀÌÁî. 0 º¸´Ù Å« °ªÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Ù
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
IllegalArgumentException - Ä¡°¡ 0 ¶Ç´Â ºÎÀÇ °ªÀÎ °æ¿ìgetReceiveBufferSize()
public int getReceiveBufferSize()
throws SocketException
¹Þ¾ÆµéÀÎ ¼ÒÄÏ¿¡ ½ÇÁ¦·Î ¼³Á¤µÈ °ªÀº Socket.getReceiveBufferSize() ¸¦ È£ÃâÇØ ÆÇÁ¤ÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
SocketException - ±âº»ÀÌ µÇ´Â ÇÁ·ÎÅäÄÝ·Î TCP ¿¡·¯µîÀÇ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìsetReceiveBufferSize(int)
|
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.