netty demo应用
服务端
public class NettyBootstrap {
public static void main(String[] args) throws InterruptedException {
NioEventLoopGroup boss = new NioEventLoopGroup();
NioEventLoopGroup worker = new NioEventLoopGroup();
ServerBootstrap serverBootstrap = new ServerBootstrap();
try {
serverBootstrap.group(boss, worker)
.channel(NioServerSocketChannel.class)
.handler(new LoggingHandler())
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel socketChannel) {
socketChannel.pipeline().addLast(new CustomChannelHandler());
}
});
final ChannelFuture sync;
sync = serverBootstrap.bind(8080).sync();
sync.channel().closeFuture().sync();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
boss.shutdownGracefully().sync();
worker.shutdownGracefully().sync();
}
}
}
客户端
NioEventLoopGroup work = new NioEventLoopGroup();
bootstrap = new Bootstrap();
bootstrap.group(work)
.channel(NioSocketChannel.class)
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 15000)
.handler(websocketInitializer);
//.handler(initializer);
String host="127.0.0.1";
int port = 8080;
bootstrap.connect(host,port).channel();