Netty - 2. 첫번째 네티 애플리케이션

roon-replica·2022년 6월 22일
0

server

목록 보기
3/4
  • 네티 기반 클라이언트와 서버 만들기 (네티 인 액션 2장)
    클라이언트가 서버로 보낸 메세지를 단순히 다시 클라이언트로 반환하는 에코 서버를 만들어 보는 실습
  • sample code github

개발 환경 설정

  • JDK, apache maven만 필요해서 인텔리제이에서 진행하면 됨
  • netty 의존성은 추가해야 함

Echo server

  • 모든 네티 서버는 다음 항목들이 필요하다고 함.
    1. ChannelHandler
      클라이언트로부터 받은 데이터를 서버측에서 처리하는 로직
    2. server bootstrap ?
      서버 시동 코드
      • 서버가 연결 요청을 수신하는 코드
      • 포트를 서버와 바인딩하는 코드 ?

ChannelHandler와 비즈니스 로직 작성

  • 4가지 이벤트 유형에 의해 호출된다? (인바운드 이벤트 트리거 4가지 말하는듯?)
  • ChannelHandler가 비즈니스 로직을 네트워킹 코드로부터 분리하게 도와준다는데 맞는거 같음

server bootstrap

  • 서버가 수신할 포트 바인딩
  • 들어오는 연결 요청 수학
  • ChannelHandler를 구현한 객체에 인바운드 메세지에 대해 알리도록 Channel 구성....

Echo client

  • 하는 일
    1. 서버로 연결
    2. 메세지 전송
    3. 메세지 수신
    4. 연결 닫기

ChannelHandler 이용하여 클라이언트 로직 작성

bootstrap

생각들

  • 부트스트랩 코드가 뭔지 모름

  • 포트를 서버와 바인딩하는 코드가 어떤 형태인지 모르겠음

  • 이벤트 수명주기에서 원하는 시점을 후크?한다는게 무슨 말인지?
    원하는 시점의 상태를 저장한다는 말인가?

  • NIO 전송이 TCP 전송과 거의 비슷하다는데 정확한 차이 모름

  • 서버를 바인딩한다는게 무슨말?

  • 이 예제에서 왜 클라이언트도 inbound임? 서버로 보내니까 outbound아님?

profile
집중 ➝ 프로세서↑ 시간 투자 ➝ 디스크↑

0개의 댓글