기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

Netty 파이프라인
프로토콜/Netty

Netty 파이프라인

2020. 9. 4. 15:48
반응형

Netty 파이프라인

 

 

 

 

 

각 Netty SocketChannel에는 ChannelPipeline이 있고, ChannelPipeline에 ChannelHandler 인스턴스 목록이 포함 됩니다.

 

ChannelHandler인터페이스는 두 개의 서브 인터페이스를 가지고 있습니다.

 

ChannelInboundHandler와 ChannelOutboundHandler가 존재합니다.

 

처음으로 데이터가 수신되면 SocketChannel에서 ChannelInboundHandler으로 데이터가 전달됩니다.

ChannelInboundHandler에서 데이터가 처리가 되면 그 다음 ChannelInboundHandler로 전달되며 마지막에 Application에 도달합니다.

ChannelInboundHandler는 파이프 라인의 다음 핸들러로 전달되기 전에 수신 한 데이터를 변환 할 수 있습니다.

예를 들어, 원시 바이트는 HTTP 객체 또는 다른 객체로 변환 될 수 있습니다.

파이프 라인의 다음 핸들러는 원시 데이터가 아닌 HTTP 객체를 확인합니다.

 

 

 

그림에 ChannelInboundHandler 및 ChannelOutboundHandler 인스턴스가 별도 목록으로 표시되어 있지만 실제로는 동일한 목록 (파이프 라인)에 있습니다.

 

따라서 ChannelInboundHandler가 무언가를 SocketChannel에 다시 쓰기로 결정하면,

데이터는 데이터를 쓰는 ChannelInboundHandler보다 ChannelPipeline의 앞부분에 있는 모든 hannelOutboundHandler 인스턴스를 거쳐서 반환됩니다.

이를 통해 비동기적인 통신이 가능하게 되는 거죠.

 

 

참고 사이트

http://tutorials.jenkov.com/netty/netty-channelpipeline.html

 

 

반응형
저작자표시 변경금지 (새창열림)

'프로토콜 > Netty' 카테고리의 다른 글

[Java] Netty Client  (0) 2020.09.07
[Java] Netty Server  (0) 2020.09.04
Netty란?  (0) 2020.09.01
    '프로토콜/Netty' 카테고리의 다른 글
    • [Java] Netty Client
    • [Java] Netty Server
    • Netty란?
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바