* BAEL-748 quick guide to @Value * BAEL-748 changes from review * BAEL-748 inject comma-separated values into array * BAEL-768 Introduction to Netty * BAEL-768 remove commented code
38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
package com.baeldung.netty;
|
|
|
|
import io.netty.bootstrap.Bootstrap;
|
|
import io.netty.channel.ChannelFuture;
|
|
import io.netty.channel.ChannelInitializer;
|
|
import io.netty.channel.ChannelOption;
|
|
import io.netty.channel.EventLoopGroup;
|
|
import io.netty.channel.nio.NioEventLoopGroup;
|
|
import io.netty.channel.socket.SocketChannel;
|
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
|
|
|
public class NettyClient {
|
|
public static void main(String[] args) throws Exception {
|
|
String host = "localhost";
|
|
int port = 8080;
|
|
EventLoopGroup workerGroup = new NioEventLoopGroup();
|
|
|
|
try {
|
|
Bootstrap b = new Bootstrap();
|
|
b.group(workerGroup);
|
|
b.channel(NioSocketChannel.class);
|
|
b.option(ChannelOption.SO_KEEPALIVE, true);
|
|
b.handler(new ChannelInitializer<SocketChannel>() {
|
|
@Override
|
|
public void initChannel(SocketChannel ch) throws Exception {
|
|
ch.pipeline().addLast(new RequestDataEncoder(), new ResponseDataDecoder(), new ClientHandler());
|
|
}
|
|
});
|
|
|
|
ChannelFuture f = b.connect(host, port).sync();
|
|
|
|
f.channel().closeFuture().sync();
|
|
} finally {
|
|
workerGroup.shutdownGracefully();
|
|
}
|
|
}
|
|
}
|