|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.net.ServerSocket
public class 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 |
setPerformancePreferences (int connectionTime,
int latency,
int bandwidth)
ÀÌ 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
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
¸¦
Throw ÇÕ´Ï´Ù.
ÀÌ ¼ÒÄÏ¿¡ °ü·ÃµÈ ä³ÎÀÌ Á¸ÀçÇÏ´Â °æ¿ì´Â ±× ä³Îµµ ´ÝÇôÁý´Ï´Ù.
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
¸Þ¼µå°¡ ºÒ·Á°¡
½ÇÁ¦ÀÇ ¼ÒÄÏÀÌ ÀÛ¼ºµË´Ï´Ù.
ÆÑÅ丮°¡ À̹Ì
¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº ÇÑ, ¸Þ¼µå¿¡ null
À»
°Ç³×Á־ ¾Æ¹«°Íµµ ÇàÇØÁöÁö ¾Ê½À´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â ÃÖÃÊ·Î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ 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 ·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰ÍÀº Àμö ¾øÀ½ÀÇ »ý¼ºÀÚ¸¦ »ç¿ëÇØ 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)
public void setPerformancePreferences(int connectionTime, int latency, int bandwidth)
¼ÒÄÏÀº µðÆúÆ®·Î TCP/IP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÕ´Ï´Ù. ±¸Çö¿¡ µû¶ó¼´Â TCP/IP¿Í´Â ´Ù¸¥ ÆÛÆ÷¸Õ½º Ư¼ºÀ» °¡Áö´Â ´ëü ÇÁ·ÎÅäÄÝÀÌ Á¦°øµÇ´Â Àϵµ ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î ±¸ÇöÀ¸·Î ÀÌ¿ë °¡´ÉÇÑ ÇÁ·ÎÅäÄÝÀÇ ¼±Åýÿ¡ ÀÌ·¯ÇÑ ±ÕÇüÀÇ ÃëÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»´Â µ¶ÀÚÀûÀÎ ¼³Á¤À» Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÆÛÆ÷¸Õ½º ¼³Á¤Àº Á¢¼Ó ½Ã°£ÀÇ ÂªÀ½, ÀÀ´ä ½Ã°£ÀÇ ¼Óµµ, ´ë¿ªÆøÀÇ ³ÐÀÌÀÇ »ó´ëÀûÀÎ Á߿䵵¸¦ ³ªÅ¸³»´Â 3°³ÀÇ Á¤¼ö°ª¿¡ ÀÇÇØ ±â¼úµË´Ï´Ù. Á¤¼öÀÇ Àý´ëÄ¡¿¡ °ü·Ã¼ºÀº ¾ø°í, ÇÁ·ÎÅäÄÝÀ» ¼±ÅÃÇϱâ À§Çؼ °ªÀ» ´ÜÁö ºñ±³ÇÕ´Ï´Ù. °ªÀÌ Å©¸éº¸´Ù °ÇÑ ¼³Á¤À» ³ªÅ¸³À´Ï´Ù. ¿¹¸¦ µé¾î ¾îÇø®ÄÉÀ̼ÇÀÌ ÀÀ´ä ½Ã°£ÀÇ ¼Óµµ¿Í ´ë¿ªÆøÀÇ ³ÐÀ̺¸´Ù Á¢¼Ó ½Ã°£ÀÇ ÂªÀ½À» ¿ì¼±ÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼µå¸¦ (1, 0, 0) À̶ó°í ÇÏ´Â °ªÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù . ¾îÇø®ÄÉÀ̼ÇÀÌ ÀÀ´ä ½Ã°£ÀÇ ¼Óµµº¸´Ù ´ë¿ªÆøÀÇ ³ÐÀ̸¦, ¶Ç Á¢¼Ó ½Ã°£ÀÇ ÂªÀ½º¸´Ù ÀÀ´ä ½Ã°£ÀÇ ¼Óµµ¸¦ ¿ì¼±ÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼µå¸¦ (0, 1, 2) À̶ó°í ÇÏ´Â °ªÀ¸·Î È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù .
ÀÌ ¼ÒÄÏÀÌ ¹ÙÀÎµå µÈ µÚ¿¡ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇØµµ, ¾Æ¹«°Íµµ ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. À̰ÍÀº ÀÌ ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ´Â Àμö°¡ ¾ø´Â »ý¼ºÀÚ¸¦ »ç¿ëÇØ ¼ÒÄÏÀ» ÀÛ¼ºÇÒ Çʿ䰡 ÀÖ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
connectionTime
- Á¢¼Ó ½Ã°£ÀÇ ÂªÀ½ÀÇ »ó´ëÀûÀÎ Á߿䵵¸¦ ³ªÅ¸³»´Â intlatency
- ÀÀ´ä ½Ã°£ÀÇ ¼ÓµµÀÇ »ó´ëÀûÀÎ Á߿䵵¸¦ ³ªÅ¸³»´Â intbandwidth
- ´ë¿ªÆøÀÇ ³ÐÀÌÀÇ »ó´ëÀûÀÎ Á߿䵵¸¦ ³ªÅ¸³»´Â int
|
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 µµ ÂüÁ¶ÇϽʽÿÀ.