관리자 글쓰기

비동기 서버소켓 채널

- open()  :  기본 비동기 채널 그룹에 포함되는 비동기 서버 소켓 채널을 얻는 방법


AsynchronousServerSocketChannel asychronousServerSocketChannel = AsynchronousServerSocketChannel.open();



- open(AsynchronousChannelGroup) : 별도로 비동기 채널 그룹을 생성하고 여기에 포함되는 비동기 서버 소켓 채널을 얻는 방법


AsynchronousChannelGroup channelGroup = AsynchronousChannelGroup.withFixedThreadPool(Runtime.getRuntime().availableProcessors(), Executors.defaultThreadFactory());

AsynchronousServerSocketChannel asynchronousServerSocketChannel = AsynchronousServerSocketChannel.open(channelGroup);



- 포트바인딩


asynchronousServerSocketChannel.bint(new InetSocketAddress(5001));


- 언바인딩


asynchronousServerSocketChannel.close();


- 연결 수락 작업


accept(A attachment, CompletionHandler<AsynchronousSocketChannel, A> handler);


ex) asynchronousServerSocketChannel.accept(null, new CompletionHandler<AsynchronousSocketChannel, void>(){


public void completed(AsynchronousSocketChannel asynchronousSocketChannel,Void attachment){


//연결 후 실행 코드


asynchronousServerSocketChannel.accept(null,this);

}


public void failed(Throwable exc, Void attachment){


//연결 수락 실패 시 실행할 코드


}

});



2017/01/05 - [코딩/Java] - [NIO]TCP 비동기 채널?