반응형

자바 Netty 2

Netty 코덱

코덱(codec)이란? 네트워크에서는 데이터를 단순한 원시 바이트의 연속으로 취급하지만 애플리케이션에서는 이러한 바이트를 의미 있는 정보 구조로 만들어야 한다. 애플리케이션 데이터와 네트워크 포맷 간의 변환을 수행하는 컴포넌트를 각각 인코더와 디코더라고 하며, 두 기능을 모두 가진 단일 컴포넌트를 코덱이라고 한다. 인코더는 메시지를 전송하기에 적합한 형식으로 변환하며, 디코더는 네트워크 스트림을 다시 프로그램의 메시지 포맷으로 변환한다. 인코더는 아웃바운드 데이터를 처리하며 디코더는 인바운드 데이터를 처리한다. 디코더 네티의 디코더 클래스는 고유한 두 사용 사례를 지원한다. 바이트 스트림을 메시지로 디코딩 : ByteToMessageDecoder 및 ReplayingDecoder 메시지를 다른 메시지 유..

IT 2021.01.05

Java Netty 에코 서버-클라이언트 구현하기

Echo 서버 만들기 모든 네티 서버에는 다음 항목이 필요하다. 하나 이상의 ChannelHandler : 이 컴포넌트는 클라이언트로부터 받은 데이터를 서버측에서 처리하는 비즈니스 논리를 구현한다. 부트스트랩 : 서버를 구성하는 시동 코드를 의미한다. 최소한 서버가 연결 요청을 수신하는 포트 서버와 바인딩하는 코드가 있어야 한다. ChannelHandler와 비즈니스 논리 Echo 서버는 들어오는 메시지에 반응해야 하므로 인바운드 이벤트에 반응하는 메서드가 정의된 ChannelInboundHandler 인터페이스를 구현해야 한다. 관심을 가질 메서드는 다음과 같다. channelRead() : 메시지가 들어올 때마다 호출된다. channelReadComplete() : channelRead()의 마지막 ..

IT 2020.12.09
반응형