|
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
- »ç¿ëÇÏ´Â Æ÷Åä. ºñ¾î ÀÖ´Â Æ÷Å並 »ç¿ëÇÏ´Â °æ¿ì´Â 0
backlog
- Å¥ÀÇ ÃÖ´ëÀå
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()
null
public 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.