728x90
반응형

netty 4

[Spring] Netty Server & Client 구현

[Spring] Netty 개념 Netty 비동기 네트워크 프레임워크입니다. Channel에서 발생하는 이벤트들을 EventLoop가 처리하는 구조를 가집니다. Channel 기본 입출력 작업은 네트워크 전송에서 제공하는 기본형을 이용합니다. 자 lakelight.tistory.com Java Netty Server TCP 통신 non-blocking model (NIO) I/O 작업이 진행되는 동안 유저 프로세스의 작업을 중단시키기 않는 방식입니다. non-blocking model은 작업 완료를 기다릴 필요가 없기 때문에 작업을 실행 시키고 다른 일을 할 수 있습니다. 이벤트가 오면 그 이벤트를 받아서 처리하는 시스템입니다. 많은 이벤트를 빠르고 경제적으로 처리할 수 있습니다. (Netty의 핵심) ..

Spring 2022.11.23

[Spring] Netty 서버 데이터 끊기는 문제 해결

문제 인식 [Spring] Netty 서버 구현과 문제 발생 Netty 를 스프링 에서 구현해보았습니다. 클라이언트는 테스트 프로그램을 이용하였습니다. 테스트 프로그램을 통해 데이터를 보내고 서버에서 그 데이터를 받는 테스트를 해보았습니다. Netty Ser lakelight.tistory.com Netty Server로 Client에서 많은 데이터들을 보냈을 때 긴 데이터는 끊겨서 넘어오는 문제가 발생하였습니다. 찾아보던 중 비슷한 문제를 해결한 사례를 발견하여 적용시켜 보았습니다. [NettySocketServerHandler.java] package twim.netty.server; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; ..

Spring 2022.08.16

[Spring] Netty 서버 구현과 문제 발생

Netty 를 스프링 에서 구현해보았습니다. 클라이언트는 테스트 프로그램을 이용하였습니다. 테스트 프로그램을 통해 데이터를 보내고 서버에서 그 데이터를 받는 테스트를 해보았습니다. Netty Server Code [NettySocketServer.java] package twim.netty.server; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; publi..

Spring 2022.08.16

[Spring] Netty 개념

Netty 비동기 네트워크 프레임워크입니다. Channel에서 발생하는 이벤트들을 EventLoop가 처리하는 구조를 가집니다. Channel 기본 입출력 작업은 네트워크 전송에서 제공하는 기본형을 이용합니다. 자바 기반 네트워크 기본 구조는 Socket 클래스입니다. Netty의 Channel 인터페이스는 Socket으로 직접 작업할 때 복잡성을 완화하는 API를 제공합니다. EventLoop 이벤트를 실행하기 위한 무한루프 쓰레드입니다. Channel에서 발생한 이벤트는 이벤트 큐에 입력됩니다. 이벤트 큐에 입력된 이벤트가 있을 때 해당 이벤트를 꺼내서 이벤트를 실행합니다. 지원하는 스레드 종류에 따라 단일 스레드 이벤트 루프와 다중 스레드 이벤트 루프로 나뉩니다. 이벤트 루프가 처리한 이벤트의 결과..

Spring 2022.08.11
728x90
반응형