본문 바로가기

Java27

01. Netty EchoServer 만들기 여기서는 데이터를 수신 받아서 어떻게 핸들링 하는지 보면 될것 같다. 1. Visual Studio Code로 java project 하나 만들고 2. Reference Library 에 3개 추가 하자 3. EchoServer.java 특별한건 없다. 이름만 바뀌었을 뿐.. 그거외에 logger를 사용하기위한 설정외엔 특별한게 없다. logger를 각 단계별로 넣어서 어떤 이벤트가 발생하는지 볼수있게 했다. import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.config... 2022. 1. 6.
05. channeInboundAdapter 이벤트 순서 상당히 많은 이벤트 들이 있지만 실제 코딩상 주로 사용하는걸 보면 channelActive ▶ channelRead ▶ channelInactive 이렇게만 구현을 보통 많이 한다. 나머지는 필요 할(?) 경우도 있으니 아 이런게 있구나 이정도만 알아도 될듯 하다.. 실제 주요 흐름은 아래와 같다 더보기 channelRegistered, channelActive ▼ channelRead ▼ channelReadCompleted ▼ channelInactive, channelUnregistered 각각 살펴보자 1. void channelRegistered(ChannelHandlerContext ctx) The Channel of the ChannelHandlerContext was registered w.. 2022. 1. 6.
03. Discard 서버로 기초를 만들어보자 1. 기본 구조 netty의 가장 기본적인 코딩 구조이다. DiscardServer.java import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelPipeline; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSo.. 2022. 1. 6.
01. Netty란 netty란 무엇인가 netty.io 에서는 'Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients' 라고 소개하고 있다 주요컨셉 non-blocking framework이며, blocking IO보다 높은처리력을 보여준다고 한다. Blocking은 요청후 응답이 올때까지 멍~ 때리면서 기달리는 것이고, non-blocking은 요청하면 '응 요청완료됬어. 완료되면 알려줄께' 라는 개념으로 이래를 하면 되지 않을까 싶다 어떤 이점이 있을까 예를들어 버거킹에 주문하러 갔는데 주문을받고 결제를 하.. 2022. 1. 6.