codec3 Netty Pipeline 및 Codec 활용(1) 편의점을 예로 들어 설명했었는데, 이번엔 카페로 한번 해보자. ( 명퇴나 은퇴하면 내 꿈이다.. ) 손님이 문을 열고 들어온뒤 손님을 대응하는 메뉴얼에 대한 절차라고 언급했던 내용을 다시 보자 CodecSample.java import org.slf4j.Logger; import org.slf4j.LoggerFactory; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.n.. 2022. 1. 10. Netty Encoder & Decoder 네트워크로 데이터는 row byte로 흘러 다니는데 그걸 수신하고 자기가 원하는 포멧으로 바꾸거나 (Decoder) 다시 네트워크로 보낼때 row byte로 바꿔주는 역활을 하는 것이라고 보면 된다. EchoServer를 다시 보면 들어오는것은 byte ▶ loggingHandler로 로그찍고(byte) ▶ StringDecoder (String) ▶ EchoServerHandler ( String) 으로 도착하게 된다. 그리고 나갈때는 EchoServerHandler ( String) ▶ StringEncoder ( byte ) ▶ LoggingHandler (byte) 로 흘러간다. channel.pipeline().addLast(new LoggingHandler(LogLevel.INFO)); // .. 2022. 1. 10. Netty Decoder with VS Code (1) Netty에는 다양한 Codec이 있다. 그걸 사용하면 왠만한 모든것들을 다 처리할수가 있을정도로 잘 되어 있다. 그중 Decoder에 대해 살펴보자 Decoder들은 아래 3개를 상속받아서 구현되어 있고, 자기만의 Decoder, Encoder를 만들수도 있다. ByteToMessageDecoder 여기에서 기본적으로 지원하는 디코더를 볼수 있다. ByteBuf를 내가 원하는 메시지 형태로 변경할 수 있다. 대부분 처음 수신될때 ByteBuf로 수신되기 때문에 pipeline 제일 앞쪽에 배치가 된다. 카페를 예를들면 우리나라 말로 한다고 한들 팔도 사투리가 다 들어올 것이다. 그럼 팔도 사투리들을 ByteBuf로 생각하고 종업원은 경상도 사람인데 (channelHandler로 보고) 미리 경상도로 바.. 2022. 1. 6. 이전 1 다음