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.