728x90 반응형 SMALL netty6 Netty(6) - TCP Server with SSL Netty를 이용하여 TCP Server를 개발하고 있다. 정해진 프로토콜에 맞게 통신하고 데이터 일부는 파일로 저장하고 저장된 파일을 분석하는 모듈이다. 프로토타입의 개발이 완료되는 시점에 암호화 통신이 필요하다는 요구사항이 추가 되었다. Netty는 아주 쉽게 이를 처리할 수 있다. Netty의 구조를 잘 생각해 보면 pipeline 에 ssl 통신처리 handler 를 넣어주면 되지 않을까? 생각이 든다. 일단 인증서를 만들어 보자. java 의 keytool 을 이용해 만들수 있고 sign 알고리즘은 SHA256withRSA 를 이용하도록 했다. keytool -genkey -v -keystore server.jks -alias server_private -keyalg RSA.. 2021. 2. 19. Netty(5) - TCP/IP 파일 송수신 web 을 주로 하다보면 network 프로그래밍을 할 경우가 많지 않다. spring 을 사용하다 보니 필요 시 spring integration 을 이용하거나 아주 간단할 경우 Socket을 직접 만들어 레거시한 코드를 작성하곤 한다. Netty는 네트워크 프로그래밍을 쉽고 간편하게 그리고 유연하게 할 수 있도록 도와주는 Framework 이다. 강력한 비동기 이벤트 드리븐 기반으로 동작하기 때문에 개발자는 Business Logic 에만 집중할 수 있다. Netty 에 대한 기초공부와 Handler, Encoder, Decoder 등을 간단하게 살펴보고 File 을 주고받는 application을 개발해봤다. 간단히 파일만 주고 받는 것이 아니라 전문통신을 통해 파일과 더불어 사용자 정보 등.. 2021. 2. 9. Netty(4) - encoder/decoder 기본 지난 포스팅에서 ByteArrayDecoder를 이용하여 전문통신 하는 방법에 대해서 정리 해 봤다. StringDecoder, ByteArrayDecoder... 등 encoder, decoder 가 무엇인지 netty 에서 codec 이란 무엇인지 정리해 보자. Message 란? 우선 네트워크 프로그램에서 message 라는 용어는 application에서 의미 있는 byte 시퀀스 구조를 말한다. 보통 프로토콜에 맞는 전문이라고 표현하기도 한다. encoder 는 이 message를 전송할 때 적합한 형식으로 변환하고, decoder는 network stream을 다시 program의 message 포맷으로 변환하는 것을 말한다. Codec 이란? 일반적으로 동영상 압축 알고리즘을 co.. 2021. 2. 9. Netty(3) - Byte array 로 받기 - ByteArrayDecoder is not a @Sharable handler 진행해야 하는 프로젝트 중에 TCP 로 전문을 받아 정해진 프로토콜에 의해 전문을 Parsing 하고 전문에 포함된 File 을 저장하여 분석해야 하는 작업이 필요했다. 이전까지는 Spring integration 을 이용하거나 간단한 경우 직접 native 한 code 를 작성해서 통신작업을 개발했다. netty를 이용하면 multithread 등 고민해야 할 부분들이 아주 많이 사라지고 실제로 처리해야 하는 business logic 에만 집중할 수 있기 때문에 적용해 보았다. childHandler 를 만들고 등록할 때 이 channel을 초기화 해 줘야 한다. 그리고 초기화 시 필요에 따라 encoder(outbound), decoder(inbound) 를 pipeline에 등록한다. .. 2021. 2. 5. 이전 1 2 다음 728x90 반응형 LIST