본문 바로가기

Java27

02. Discard 서버 Netty 예제 중 Discard 서버를 통해 접속과 데이터 전송을 배워보자. 우선은 간단하게 Netty가 어떻게 동작하는지만 보자 사용하는툴 - Visual Studo Code - Netty 라이버러리 1) Java Project 생성 - mac 기준 cmd + shift + P 를 누르면 Create Java Project ... 를 선택하면 - 프로젝트를 생성할 폴더를 선택 -> 다음 프로젝트 명 선택 (이게 생성되는 폴더명이다) 2) 생성된 프로젝트에서 App.java 에서 main 함수위에 있는 Run 눌러보자 Hello, World! 가 잘 나온다 3) Netty를 사용하기 위해 Netty관련 jar 파일을 다운로드 받아보자. 2022. 1. 6.
Netty Encoder with VSCode 2022.01.06 - [프로그래밍/Netty Encoder & Decoder] - Netty Decoder with VS Code 전 장에서 말했던 Decoder는 받아서 처리하는 것이고, Encoder는 받은 처리결과를 되돌려 주는것이라고 보면 된다. 여기에 보면 Encoder는 두개가 있다 MessageToByteEncoder 내가 만든 메시지를 Byte로 변환한다. Integer로 메시지 받아서 ByteBuf로 되돌려 준다. public class IntegerEncoder extends MessageToByteEncoder { @Override public void encode(ChannelHandlerContext ctx, Integer msg, ByteBuf out) throws Excep.. 2022. 1. 6.
Netty Decoder with VS Code (1) Netty에는 다양한 Codec이 있다. 그걸 사용하면 왠만한 모든것들을 다 처리할수가 있을정도로 잘 되어 있다. 그중 Decoder에 대해 살펴보자 Decoder들은 아래 3개를 상속받아서 구현되어 있고, 자기만의 Decoder, Encoder를 만들수도 있다. ByteToMessageDecoder 여기에서 기본적으로 지원하는 디코더를 볼수 있다. ByteBuf를 내가 원하는 메시지 형태로 변경할 수 있다. 대부분 처음 수신될때 ByteBuf로 수신되기 때문에 pipeline 제일 앞쪽에 배치가 된다. 카페를 예를들면 우리나라 말로 한다고 한들 팔도 사투리가 다 들어올 것이다. 그럼 팔도 사투리들을 ByteBuf로 생각하고 종업원은 경상도 사람인데 (channelHandler로 보고) 미리 경상도로 바.. 2022. 1. 6.