引:之前对服务端和NioEventLoop都有了一定的分析,相信大家的服务端应该已经虚位以待了。好的,我们现在就开始分析新连接接入。
新连接检测
用过NIO的人都会知道新连接检测应该在处理select出来的SelectedKey中出现,所以我们就从这开始:
1 | // step 1 |
检测完毕!!!
创建Channel
1 | // step 1 NioSocketChannel |
Channel注册绑定
1 | // step 1 DefaultChannelPipeline |
总结
ServerSocketChannel
绑定的EventLoop轮询到有新的连接进入- 通过封装jdk底层的channel创建
NioSocketChannel
以及一系列的netty核心组件 - 将该cahnnel通过chooser,选择一个EventLoop绑定上去
- 注册读事件,开始新连接的读写(可以参考服务端启动流程)