netty源码阅读之服务端启动
netty服务端启动分为以下几个过程:
1、服务端channel的创建
2、服务端channel的初始化
3、注册selector
4、服务端端口的绑定
我将通过以下用户的代码,后面分几篇文章为大家讲解:
public final class Server {
public static void main(String[] args) throws Exception {
EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childOption(ChannelOption.TCP_NODELAY, true)
.childAttr(AttributeKey.newInstance("childAttr"), "childAttrValue")
.handler(new ServerHandler())
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch) {
ch.pipeline().addLast(new AuthHandler());
//..
}
});
ChannelFuture f = b.bind(8888).sync();
f.channel().closeFuture().sync();
} finally {
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
}
}
看完下面几篇文章,需要回答以下几个问题?
1、服务端的socket在哪里初始化?
2、在哪里进行accept连接?
还没有评论,来说两句吧...