Netty

    따라하면 되는 Netty 기반 간단한 Live Chat 서버 예제

    💡 비동기 이벤트 기반 네트워크 애플리케이션 프레임워크인 Netty를 학습하며 Simple Chat Server를 구축할 수 있다. 지난번 만들었던 EchoServer를 심화해 Live Chat 서버를 구현해보자 저번 예제는 EchoServer.java와 EchoServerHandler.java 파일로 구성되었지만, 이번 예제의 파일 구성은 아래와 같다. - ChatServer.java - ChatServerHandler.java - ChatClient.java - ChatClientHandler.java ChatServer.java import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.nett..

    따라하면 되는 Netty 기반 EchoServer 예제

    💡 비동기 이벤트 기반 네트워크 애플리케이션 프레임워크인 Netty를 학습하며 EchoServer를 구축할 수 있다. 📌 Netty import 세팅 방법 1. Maven dependency를 추가해주는 방법 (링크) 방법 2. Java Build path > Libraries > Add External JARs, 라이브러리 등록하는 방법 (링크) 파일 구성 - EchoServer.java - EchoServerHandler.java 📌 EchoServer.java import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io..

    JAVA 네트워크 프로그래밍 - 소켓 통신 👉 netty

    💡 자바 소켓 통신 💡 자바의 네트워크 통신 변화 순수 자바를 위한 java.net 패키지 라이브러리 👉 자바 NIO 👉 netty 📌 순수 자바를 위한 java.net 패키지 라이브러리 → 블로킹 함수만 지원 → 한 번에 한 연결만 처리 많은 수의 클라이언트를 관리하기 위해서는 많은 수의 스레드를 생성해야 하는 리소스 낭비 📌 자바 NIO 논블로킹 호출이 포함, 이벤트 통지 API를 이용 적은 수의 스레드로 더 많은 연결을 처리할 수 있어 메모리 관리와 컨텍스트 스위치에 대한 오버헤드가 준다. 입출력을 처리하지 않을 때는 스레드를 다른 작업에 활용할 수 있다. 부하가 높은 상황에서의 까다로운 처리는 어려운 일임 📌 netty 오픈소스 프레임워크 내부에서 네트워크 송수신 처리에 사용 고급 API를 내부에..