Netty 기본 예제
테스트 환경
Java 8
Logback
Discard 서버
8888 port를 listen하는 web server. 데이터를 받기만 할 뿐 아무런 동작도 하지 않음.
port와 handler를 설정하는 main server
client로부터 받은 입력 데이터를 처리하는 handler
telnet localhost 8888명령어로 테스트 가능
public class DiscardServer {
public static void main(String[] args) throws InterruptedException {
EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel socketChannel) throws Exception {
ChannelPipeline pipeline = socketChannel.pipeline();
// 핸들러 설정
pipeline.addLast(new DiscardServerHandler());
}
});
// 포트 지정
ChannelFuture future = bootstrap.bind(8888).sync();
future.channel().closeFuture().sync();
} finally {
workerGroup.shutdownGracefully();
bossGroup.shutdownGracefully();
}
}
}Echo 서버, 클라이언트
서버는 입력 받은 메세지를 그대로 다시 클라이언트에게 돌려줌
SimpleChannelInboundHandler 대신에 ChannelInboundHandlerAdapter 사용
클라이언트는 채널이 활성화되면 "Hello, Netty!" 메세지를 서버에게 전송
Server
Client
Last updated