netty
-
1장에서는 자바 고성능 네트워크 프로그래밍의 역사와 기술적 사항2장에서는 논의의 폭을 애플리케이션 개발로 넓혔다. 간단한 클라이언트와 서버를 만드는 과정에서 부트스트랩, ChannelHandler를 직접 체험 이 내용을 바탕으로 클래스 라이브러리와 프레임워크라는 두 가지 다른 관점으로 네티를 살펴보자.넓게 보면, 네티는 기술과 아키텍처라고 광범위하게 이야기하는 두 관심 영역의 문제를 모두 해결한다.1. 자바 NIO 기반의 비동기식 이벤트 기반 구현을 이용해 고부하 조건에서도 애플리케이션 성능과 확장성을 최대한 보장2. 네티는 애플리케이션 논리를 네트워크 레이어로부터 분리하는 다양한 설계 패턴을 활용해 코드의 테스트 용이성, 모듈성, 재사용성을 극대화해 개발을 간소화 Channel, EventLoop,..
[네티인액션] 3장 네티 컴포넌트와 설계1장에서는 자바 고성능 네트워크 프로그래밍의 역사와 기술적 사항2장에서는 논의의 폭을 애플리케이션 개발로 넓혔다. 간단한 클라이언트와 서버를 만드는 과정에서 부트스트랩, ChannelHandler를 직접 체험 이 내용을 바탕으로 클래스 라이브러리와 프레임워크라는 두 가지 다른 관점으로 네티를 살펴보자.넓게 보면, 네티는 기술과 아키텍처라고 광범위하게 이야기하는 두 관심 영역의 문제를 모두 해결한다.1. 자바 NIO 기반의 비동기식 이벤트 기반 구현을 이용해 고부하 조건에서도 애플리케이션 성능과 확장성을 최대한 보장2. 네티는 애플리케이션 논리를 네트워크 레이어로부터 분리하는 다양한 설계 패턴을 활용해 코드의 테스트 용이성, 모듈성, 재사용성을 극대화해 개발을 간소화 Channel, EventLoop,..
2025.12.30 -
클라이언트를 작성하려면 앞서 버서에서 작성한 두 주요 코드(비즈니스 논리와 부트스트랩)를 다시 작성해야 한다. ChannelHandler를 이용한 클라이언트 논리 구현 서버와 비슷하게 클라이언트에도 데이터를 처리할 ChannelInboundHandler가 있다. 이번 예제에서는 SimpleChannelInboundHandler클래스를 확장해 보자.channelActive() : 서버에 대한 연결이 만들어지면 호출channelRead0() : 서버로부터 메시지를 수신하면 호출exceptionCaught() : 처리 중에 예외가 발생하면 호출 @Sharablepublic class EchoClientHandler extends SimpleChannelInboundHandler { @Override ..
[네티인액션] 2장 첫 번째 네티 애플리케이션(1):클라이언트클라이언트를 작성하려면 앞서 버서에서 작성한 두 주요 코드(비즈니스 논리와 부트스트랩)를 다시 작성해야 한다. ChannelHandler를 이용한 클라이언트 논리 구현 서버와 비슷하게 클라이언트에도 데이터를 처리할 ChannelInboundHandler가 있다. 이번 예제에서는 SimpleChannelInboundHandler클래스를 확장해 보자.channelActive() : 서버에 대한 연결이 만들어지면 호출channelRead0() : 서버로부터 메시지를 수신하면 호출exceptionCaught() : 처리 중에 예외가 발생하면 호출 @Sharablepublic class EchoClientHandler extends SimpleChannelInboundHandler { @Override ..
2025.12.23 -
네티 클라이언트/서버 개요Echo 클라이언트와 서버 간의 상호작용을 간단하게 구현하여 기본적인 구조를 학습해 보자. Echo 서버모든 네티 서버의 필요 항목하나 이상의 ChannelHandler : 클라이언트로부터 받은 데이터를 서버 측에서 처리하는 비즈니스 논리를 구현부트스트랩 : 서버를 구성하는 시동 코드. 최소한 서버가 연결 요청을 수신하는 포트를 서버와 바인딩하는 코드 ChannelHandler와 비즈니스 논리 Echo 서버는 들어오는 메시지에 반응해야 하므로 인바운드 이벤트에 반응하는 메서드가 정의된 ChannelInboundHandler 인터페이스를 구현해야 한다. 이 애플리케이션은 소수의 메서드를 이용하는 간단한 애플리케이션이므로 ChannelInboundHandler의 기본 구현을 제공..
[네티인액션] 2장 첫 번째 네티 애플리케이션(1):서버네티 클라이언트/서버 개요Echo 클라이언트와 서버 간의 상호작용을 간단하게 구현하여 기본적인 구조를 학습해 보자. Echo 서버모든 네티 서버의 필요 항목하나 이상의 ChannelHandler : 클라이언트로부터 받은 데이터를 서버 측에서 처리하는 비즈니스 논리를 구현부트스트랩 : 서버를 구성하는 시동 코드. 최소한 서버가 연결 요청을 수신하는 포트를 서버와 바인딩하는 코드 ChannelHandler와 비즈니스 논리 Echo 서버는 들어오는 메시지에 반응해야 하므로 인바운드 이벤트에 반응하는 메서드가 정의된 ChannelInboundHandler 인터페이스를 구현해야 한다. 이 애플리케이션은 소수의 메서드를 이용하는 간단한 애플리케이션이므로 ChannelInboundHandler의 기본 구현을 제공..
2025.12.20 -
자바의 네트워킹 최초의 자바 API(java.net)는 네이티브 시스템 소켓 라이브러리가 제공하는 이른바 블로킹 함수만 지원여러 스레드가 입력이나 출력 데이터가 들어오기를 기다리며 무한정 대기 상태 유지 각 스레드가 스택 메모리를 할당 ( 스택의 기본크기 64KB~1MB )JVM 내의 물리적 스레드 생성 한계 및 컨텍스트 전환에 따른 오버헤드 ServerSocket serverSocket = new ServerSocket(8080); Socket clientSocket = serverSocket.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStre..
[네티인액션] 1장 네티: 비동기식 이벤트 기반 네트워킹 프레임워크자바의 네트워킹 최초의 자바 API(java.net)는 네이티브 시스템 소켓 라이브러리가 제공하는 이른바 블로킹 함수만 지원여러 스레드가 입력이나 출력 데이터가 들어오기를 기다리며 무한정 대기 상태 유지 각 스레드가 스택 메모리를 할당 ( 스택의 기본크기 64KB~1MB )JVM 내의 물리적 스레드 생성 한계 및 컨텍스트 전환에 따른 오버헤드 ServerSocket serverSocket = new ServerSocket(8080); Socket clientSocket = serverSocket.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStre..
2025.09.23