pipeline3 Netty Pipeline 및 Codec 활용(3) 손님이 와서 주문을 하는데 주문이 끝날때는 카드를 내밀어야 한다. 주문이 끝나기도 전에 카드를 내밀면 무조건 결제하고, 추가주문을 받는다는 원칙을 세웠다고 하자. 그럼 고객은 항상 주문이 완료되면 카드를 내밀것이다. 그걸 캐치해서 다음 단계로 진행시키고, 이후 다시 주문받고 하면 되겠다. ChannelHandler 중 Netty 샘플에서 가장많이 쓰는것이 아래 두개이다 LineBasedFrameDecoder : 라인단위로 가져와서 처리 LengthFieldBasedFrameDecoder : 앞에다가 내가 보낼 사이즈는 얼마야 라고 먼저 보내고 이야기를 하는것 그 중 LineBasedFrameDecoder 를 써보자 우선 설명을 보면 받은 ByteBuf를 \n, \r\n으로 나눈다고 한다 함수에 커서를 두.. 2022. 1. 10. Netty ChannelHandler 아마 Netty를 하면서 가장 많이 접하는것 중에 하나가 ChannelHandler일것이다. 여기에 보면 ChannelHandler는 I/O 이벤트를 핸들링 하고, pipeline의 다음 handler에 전달하는 역활을 한다고 정의가 되어있다. 그리고 Encoder, Decoder, InboundHandler, OutboundHandler 부터 엄청 많다. 한번씩 보고 눈에 살짝 익혀 놓으면 나중에 다른거 개발할때도 좋을것 같다 그리고 좀더 편하게 쓰기위해서 Adapter class를 제공하고 있으며, 가장 많이 쓰는게 아래 세개 정도이다. ChannelInboundHandlerAdapter : 유입되는 데이터에 대한 I/O를 핸들링 한다. ChannelOutboundHandlerAdapter : 유출되.. 2022. 1. 10. 01. Pipeline 테스트 간단히 하기(feat. EmbeddedChannel) - 1 Pipeline Netty에서 pipeline에는 channel Handler의 흐름을 기록하고 있다. 아래 코드를 보면 카페를 차리고 (Serverbootstrap), 문을 만들고, 카운터를 배치시키고 ( serverbootstrap.group(bossGroup, workGroup) ) 어떤말로 할지 결정하고 ( serverbootstrap.channel(NioServerSocketChannel.class) ) 그 다음에 손님이 왔을때 어떤 순서로 응대할지 정한 메뉴얼이 pipeline이다 LoggingHandler ▶ StringDecoder ▶ SampleClientHandler ▶ StringEncoder ▶ LoggingHandler 의 순서로 흐른다. serverbootstrap.handler.. 2022. 1. 7. 이전 1 다음