netty NioServerSocketChannel注册流程
2016-08-28 15:07:54 0 举报
Netty的NioServerSocketChannel注册流程主要包括以下步骤:首先,创建NioEventLoopGroup作为事件循环组,用于处理网络事件。然后,创建一个NioServerSocketChannel实例,并绑定监听端口。接着,将NioServerSocketChannel注册到NioEventLoopGroup中,由其负责接收客户端连接请求。最后,调用NioServerSocketChannel的bind方法,启动服务器并监听端口。在整个过程中,Netty会根据实际的网络环境和负载情况,自动调整线程池的大小和线程的优先级,以保证服务器的性能和稳定性。
作者其他创作
大纲/内容
创建NioServerSocketChannel实例,初始化ChannelPipeLine
NioServerSocketChannel注册
调用socket的bind api,操作系统会初始化一条监听tcp连接注:backLog默认为3072
向操作系统申请socket文件句柄
执行channelActive事件判断是否注册acceptor事件(默认开启)这时会向selector注册该channel关心的连接事件
注:这里会注册一个ServerBootstrapAcceptor用于处理之后子socketChannel连接事件,为其初始化业务方的handlerNioServerSocketChannel的pipeLine链表如下:headHanlder - ServerBootstrapAcceptor -tailHandlerheaderHandler有bind方法,connect方法等(底层还是交给AbstractUnsafe去做)
将channel注册到selector reactor上
启动boss线程,执行以下流程
0 条评论
下一页