관리 메뉴

한글창제의 기쁨

Netty Bootstrap 설정 본문

Netty

Netty Bootstrap 설정

timesurfer 공간지배자 2018.04.02 21:49

부트스트랩 설정 

이벤트 루프  : 소켓채널에서 발생한 이벤트를 처리하는 스레드 모델에 대한 구현 

채널 전송 모드 : 크게 블로킹, 논블로킹, epoll 의 3가지모드 

(현재 까지 알려진것중 epoll 이 가장 빠름 - linux 에서 지원 )


채널 파이브라인 : 연결된 채널 에서 사용할 데이터 핸들러에 대한 내용



AbstractBootstrab

|

___________________________

| |


           Bootstrap ServerBootstrap



AbstractBootstrab

ServerBootstrap

첫번째 부모 쓰레드는 클라이언트 연결 요청의 수락을 담당 한다. 

두번째 인수는 연결된 소켓에 대한 I/O 를 처리 하는 자식 쓰레드 이다.


(클라이언트 연결 요청 수락 이벤트루프와, 데이터 송수신 처리를 위한 이벤트 루프 )



Bootstrab

연결 요청이 완료된 이후의 데이터 송수신 처리를 위해서 하나의 이벤트루프 생성 



channel 

서버 , 클라이언트 Bootstrab에 모두 존재하는 API 이며, 생성된 채널의 입출력 모드를 설정 할 수 있다. 


설정 가능한 채널 중요  Class 정의 


.OioServerSoketChannel.class

.NioServerSoketChannel.class

.EpollServerSockeetChannel.class


option 설정 (ChannelOption.SO_BACKLOG)

소캣의 동작 방식 지정, 소켓의 송수 신 패킷 크기 설정 


TCP_NODELAY : 데이터 송수신에 네이글 알고리즘 비활 성화 여부 지정 

SO_KEEPALIVE : 운영체제에서 지정된 시간에 한번씩 keepalive 패킷을 상대 방에게 전송 

SO_BACKLOG : 동시에 수용 가능한 소켓 연결 요청수 




ChannelInitializer  클라이 언트로 부터 연결된 채널이 초기화 될때 기본 동작이 지정된 추상 클레스 

initChannel 안에서 채널 파이프라인 객체 생성 







'Netty' 카테고리의 다른 글

Netty Bootstrap 설정  (0) 2018.04.02
Netty Discard/Echo Server  (0) 2018.01.24
0 Comments
댓글쓰기 폼