목록분류 전체보기 (134)
나만의 개발 로그 | 고민 로그
목차ctx.close()와 channel().close()의 차이1.1 ctx.close()1.2 channel().close()주요 차이 요약ctx.close()로 발생할 수 있는 문제3.1 이전 핸들러에서 이벤트 누락3.2 중간 핸들러의 정리 작업 누락흐름 비교4.1 핸들러 호출 흐름 비교4.2 결과 비교4.3 흐름 비교 요약4.4 흐름 비교 정리최종 정리5.1 ctx.close()5.2 channel().close()5.3 언제 무엇을 사용할까?참고) 편의상 ChannelHandlerContext → ctx, Channel -> channel로 줄임 1. ctx.close()와 channel().close()의 차이1.1 ctx.close()현재 핸들러 이후의 파이프라인에만 이벤트를 전달현재 핸들러..
목차Netty의 ByteBuf란?1.1 ByteBuf의 주요 특징ByteBuf의 메모리 관리와 참조 카운트2.1 주요 메서드 (retain, release, copy, slice, duplicate)2.2 메모리 관리 사례핸들러에서의 참조 관리3.1 channelRead와 수동 관리3.2 channelRead0와 자동 관리3.3 channelRead와 channelRead0의 차이점 및 사용 사례디코더와 예외 처리4.1 디코더의 자동 참조 관리 (ByteToMessageDecoder)4.2 디코더에서의 예외 처리ByteBuf의 자동 관리 사례5.1 write() 및 writeAndFlush()5.2 디코더(ByteToMessageDecoder)5.3 SimpleChannelInboundHandler5.4..
○ 목차Netty란이벤트루프와 소켓 생성 흐름Basic 예제Discard 예제Echo 예제Time 예제LifeCycle 예제Duplexhandler○ 프로젝트프로젝트 구조○ Netty란Netty는 비동기 이벤트 기반 네트워크 애플리케이션 프레임워크로, 빠르고 신뢰성 있는 네트워크 서버 및 클라이언트를 쉽게 개발할 수 있게 도와줌비동기식 네트워크 통신을 지원하며, Java NIO를 기반으로 구축되었으며 주요 특징으로는 높은 성능, 간편한 사용성, 강력한 유연성 등이 있음○ 사용이유현재 회사에서 자율주행차량 관련 TCP-Gateway 프로젝트에서 효율적인 개발을 위해 사용Byte 단위로 데이터를 주고받기 때문에 네트워크 프로토콜의 효율적인 처리와 사용자 정의 데이터 포맷을 손쉽게 구현할 수 있음비동기 논블로..