728x90
서버 네트워크 어플리케이션을 네티로 작성
- 부트스트랩으로 네트워크 애플리케이션의 필요한 설정들을 지정해줄수있다.
- 부트스트랩에 이벤트 핸들러를 사용하여 채널 파이프라인을 구성한다
- 이벤트 핸들러의 데이터 수신 이벤트 메서드에서 데이터를 읽어들인다.
- 이벤트 핸들러의 네트워크 끊김 이벤트 메서드에서 에러 처리를 한다.
네티는 소켓 채널에 채널 파이프 라인을 등록하고 이벤트 핸들러의 설정을 완료하기 위한 프로세스이다.
- 네티는 클라이언트 연결에 대응하는 소켓 채널 객체를 생성하고 빈 채널 파이프 라인 객체를 생성하여 소켓 채널에 할
당한다.
- 네티는 소켓 채널에 등록된 channelinitializer인터페이스의 구현체를 가져와서 initchannel메서드를 호출한다.
- 네티는 소켓 채널 참조로부터 처음에 등록한 파이프라인 객체를 가져오고 채널 파이프 라인에 입력된 이벤트 랜들러의 객체를 등록한다.
코덱의 실행 과정
- 네티의 코덱은 템플릿 메서드 패턴으로 구현되어 있따.
- 템플릿 메서드 패턴은 상위 구현체에서 메서드의 실행 순서만을 지정하고 수행될 메서드의 구현은 하위 구현체로 위임한다.
이벤트 모델
- 이벤트를 처리하는 방법은 크게 두가지가 있다.
- 이벤트 리스너와 이벤트 처리 스레드에 기반한 방법이 있다.
네티는 단일,다중 스레드 이벤트 루프지원
이벤트의 수행 순서가 일치하지 않는 근본적인 이유는 이벤트 루프들이 이벤트 큐를 공유하기 때문에 발생, 네티는 이벤트 큐를 이벤트 루프 스레트의 내부에 둠으로써 수행 순서 불일치의 원인을 제거.
퓨처패턴 : 미래에 완료될 작업을 등록하고 처리 결과를 확인하는 객체를 통해 작업의 완료를 확인하는 패턴
728x90
'netty' 카테고리의 다른 글
vo get set 배열 실수 (0) | 2021.05.07 |
---|---|
java사용 유용한 꿀 팁!!! (0) | 2021.05.07 |
logback설정 방법!! (0) | 2021.05.07 |
netty bootstrap 옵션 (0) | 2021.05.07 |
netty tcp 통신시 패킷 검증 (0) | 2021.05.07 |
댓글