JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.nio.channels
Ŭ·¡½º ServerSocketChannel

java.lang.Object 
  |
  +--java.nio.channels.spi.AbstractInterruptibleChannel 
        |
        +--java.nio.channels.SelectableChannel 
              |
              +--java.nio.channels.spi.AbstractSelectableChannel 
                    |
                    +--java.nio.channels.ServerSocketChannel
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Channel , InterruptibleChannel

public abstract class ServerSocketChannel
extends AbstractSelectableChannel

½ºÆ®¸²Çü ¸®½º´×¼ÒÄÏÆ®¿ëÀÇ ¼±Åà °¡´ÉÇÑ Ã¤³ÎÀÔ´Ï´Ù.

¼­¹ö ¼ÒÄÏ Ã¤³ÎÀº ³×Æ®¿öÅ© ¼ÒÄÏÀÇ ¿ÏÀüÇÑ Ãß»óÀÌ ¾Æ´Õ´Ï´Ù. ¼ÒÄÏ ¿É¼ÇÀÇ ¹ÙÀεå¿Í Á¶ÀÛÀº socket ¸Þ¼Òµå È£Ãâ¿¡ ÀÇÇØ ÃëµæÇÑ °ü·Ã ServerSocket ¿ÀºêÁ§Æ®¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÓÀÇÀÇ ±âÁ¸ ¼­¹ö ¼ÒÄÏÀÇ Ã¤³ÎÀ» ÀÛ¼ºÇϰųª ¼­¹ö ¼ÒÄÏ Ã¤³Î¿¡ °ü·ÃÇÑ ¼­¹ö ¼ÒÄÏÀ¸·Î SocketImpl ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇϵµ·Ï(µíÀÌ) ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.

¼­¹ö ¼ÒÄÏ Ã¤³ÎÀº ÀÌ Å¬·¡½ºÀÇ open ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ) ÀÛ¼ºµË´Ï´Ù. »õ·Ó°Ô ÀÛ¼ºµÈ ¼­¹ö ¼ÒÄÏ Ã¤³ÎÀº ¿ÀÇÂÀÔ´Ï´Ù¸¸, ¹Ì¹ÙÀεåÀÔ´Ï´Ù. ¹Ì¹ÙÀεåÀÇ ¼­¹ö ¼ÒÄÏ Ã¤³ÎÀÇ accept ¸Þ¼Òµå¸¦ È£ÃâÇÏ·Á°í Çϸé(ÀÚ),NotYetBoundException °¡ ½½·Î¿ì µË´Ï´Ù. ¼­¹ö ¼ÒÄÏ Ã¤³ÎÀº °ü·Ã ¼­¹ö ¼ÒÄÏÀÇ bind ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ) ¹ÙÀÎµå µË´Ï´Ù.

¼­¹ö ¼ÒÄÏ Ã¤³ÎÀº º¹¼öÀÇ º´Çà thread·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4

»ý¼ºÀÚÀÇ °³¿ä
protected ServerSocketChannel (SelectorProvider  provider)
          ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
abstract  SocketChannel accept ()
          ÀÌ Ã¤³ÎÀÇ ¼ÒÄÏ¿¡ ´ëÇÑ Á¢¼ÓÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù.
static ServerSocketChannel open ()
          ¼­¹ö ¼ÒÄÏ Ã¤³ÎÀ» ¿ÀÇÂÇÕ´Ï´Ù.
abstract  ServerSocket socket ()
          ÀÌ Ã¤³Î¿¡ °ü·ÃÇÑ ¼­¹ö ¼ÒÄÏÀ» ÃëµæÇÕ´Ï´Ù.
 int validOps ()
          ÀÌ Ã¤³ÎÀÇ ¼­Æ÷Æ®µÇ°í ÀÖ´Â Á¶ÀÛÀ» ½Äº°ÇÏ´Â Á¶ÀÛ ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
 
Ŭ·¡½º java.nio.channels.spi. AbstractSelectableChannel ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
blockingLock , configureBlocking , implCloseChannel , implCloseSelectableChannel , implConfigureBlocking , isBlocking , isRegistered , keyFor , provider , register
 
Ŭ·¡½º java.nio.channels. SelectableChannel ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
register
 
Ŭ·¡½º java.nio.channels.spi. AbstractInterruptibleChannel ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
begin , close , end , isOpen
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 
ÀÎÅÍÆäÀ̽º java.nio.channels. Channel ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
close , isOpen
 

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

ServerSocketChannel

protected ServerSocketChannel(SelectorProvider  provider)
ÀÌ Å¬·¡½ºÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

¸Þ¼ÒµåÀÇ »ó¼¼

open

public static ServerSocketChannel  open()
                                throws IOException 
¼­¹ö ¼ÒÄÏ Ã¤³ÎÀ» ¿ÀÇÂÇÕ´Ï´Ù.

»õ·Î¿î ä³ÎÀ» ÀÛ¼ºÇÏ·Á¸é , ½Ã½ºÅÛ ÀüüÀÇ µðÆúÆ®ÀÇ SelectorProvider ¿ÀºêÁ§Æ®ÀÇ openServerSocketChannel ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.

»õ·Î¿î ä³ÎÀÇ ¼ÒÄÏÀº Ãʱ⠻óÅ¿¡¼­´Â ¹Ì¹ÙÀεåÀÔ´Ï´Ù. ¼ÒÄÏÀÇ bind ¸Þ¼Òµå¸¦ »ç¿ëÇØ ƯÁ¤ÀÇ ÁÖ¼Ò¿¡ ¹ÙÀεå ÇÏÁö ¾ÊÀ¸¸é Á¢¼ÓÀº ¹Þ¾ÆµéÀÏ ¼ö ¾ø½À´Ï´Ù.

¹Ýȯ°ª:
»õ·Î¿î ¼ÒÄÏ Ã¤³Î
¿¹¿Ü:
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

validOps

public final int validOps()
ÀÌ Ã¤³ÎÀÇ ¼­Æ÷Æ®µÇ°í ÀÖ´Â Á¶ÀÛÀ» ½Äº°ÇÏ´Â Á¶ÀÛ ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

¼­¹ö ¼ÒÄÏ Ã¤³ÎÀº »õ·Î¿î Á¢¼ÓÀÇ Á¢¼ö¸¸À» ¼­Æ÷Æ®ÇÕ´Ï´Ù. µû¶ó¼­, ÀÌ ¸Þ¼Òµå´Â SelectionKey.OP_ACCEPT ¸¦ µ¹·ÁÁÝ´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º SelectableChannel ³»ÀÇ validOps
¹Ýȯ°ª:
À¯È¿ÇÑ Á¶ÀÛ ¼¼Æ®

socket

public abstract ServerSocket  socket()
ÀÌ Ã¤³Î¿¡ °ü·ÃÇÑ ¼­¹ö ¼ÒÄÏÀ» ÃëµæÇÕ´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â ¿ÀºêÁ§Æ®´Â ServerSocket Ŭ·¡½º¿¡¼­ ¼±¾ðµÇ¾î ÀÖÁö ¾ÊÀº °ø°³ ¸Þ¼Òµå´Â ¼±¾ðÇÏÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Ã¤³Î¿¡ °ü·ÃÇÑ ¼­¹ö ¼ÒÄÏ

accept

public abstract SocketChannel  accept()
                              throws IOException 
ÀÌ Ã¤³ÎÀÇ ¼ÒÄÏ¿¡ ´ëÇÑ Á¢¼ÓÀ» ¹Þ¾ÆµéÀÔ´Ï´Ù.

ÀÌ Ã¤³ÎÀÌ ºñºí·Ï ¸ðµåÀÇ °æ¿ì, º¸·ùµÇ°í ÀÖ´Â Á¢¼ÓÀÌ ¾øÀ¸¸é, ÀÌ ¸Þ¼Òµå´Â Áï½Ã null ¸¦ µ¹·ÁÁÝ´Ï´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì, »õ·Î¿î Á¢¼ÓÀÌ ÀÌ¿ë °¡´ÉÇÏ°Ô µÇ´ÂÁö ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇÒ ¶§±îÁö ¹«±âÇÑÀ¸·Î ºí·Ï µË´Ï´Ù.

ÀÌ ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ¼ÒÄÏ Ã¤³ÎÀº ÀÌ Ã¤³ÎÀÌ ºí·Ï ¸ðµå¿©µµ ±×·¸Áö ¾Ê¾Æµµ ºí·Ï ¸ðµå°¡ µË´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ServerSocket Ŭ·¡½ºÀÇ accept ¸Þ¼Òµå¿Í ¿ÏÀüÈ÷ °°Àº ½ÃÅ¥·¯Æ¼ üũ¸¦ ½ÇÇàÇÕ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ÀνºÅç µÇ°í ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â »õ·Î¿î Á¢¼Ó 1 kr 1 °³ÀÇ ¸®¸ðÆ® ¿£µå Æ÷ÀÎÆ®ÀÇ ÁÖ¼Ò¿Í Æ÷Åä ¹øÈ£°¡ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkAccept ¸Þ¼Òµå¿¡ ÀÇÇØ Çã°¡µÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÕ´Ï´Ù.

¹Ýȯ°ª:
»õ·Î¿î Á¢¼ÓÀÇ ¼ÒÄÏ Ã¤³Î. ÀÌ Ã¤³ÎÀÌ ºñºí·Ï ¸ðµå·Î, ¹Þ¾ÆµéÀÌ°í °¡´ÉÇÑ Á¢¼ÓÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
ClosedChannelException - ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî Çϰí ÀÖ´Â °æ¿ì
AsynchronousCloseException - Á¢¼ö Á¶ÀÛÀÇ ÁøÇàÁß¿¡, ´Ù¸¥ thread¿¡ ÀÇÇØ ÀÌ Ã¤³ÎÀÌ Å¬·Î¿ìÁî µÇ¾úÀ» °æ¿ì
ClosedByInterruptException - Á¢¼ö Á¶ÀÛÀÇ ÁøÇàÁß¿¡, ÇöÀçÀÇ thread¿¡ ´ëÇØ¼­ ´Ù¸¥ thread·ÎºÎÅÍ ¼¼Ä¡±â°¡ ÀÖ¾ú±â ¶§¹®¿¡ ä³ÎÀÌ Å¬·Î¿ìÁî ÇØ, ÇöÀçÀÇ threadÀÇ ¼¼Ä¡±â »óŰ¡ ¼³Á¤µÇ¾úÀ» °æ¿ì
NotYetBoundException - ÀÌ Ã¤³ÎÀÇ ¼ÒÄÏÀÌ ¹Ì¹ÙÀεåÀÇ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ÀνºÅç µÇ°í ÀÖ¾î, »õ·Î¿î Á¢¼ÓÀÇ ¸®¸ðÆ® ¿£µå Æ÷ÀÎÆ®¿¡ÀÇ ¾×¼¼½º°¡ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
IOException - ±× ¿ÜÀÇ ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

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.