Netty源码阅读入门实战(五)-新连接检测
1 检测新连接
telnet 此机地址,引起连接建立 继续返回原先位置
2 NioSocketChannel的创建
禁止小包组成大包再发送方法 看看这个静态变量 由于 netty 常部署在服务端,所以默认启动 TCP无延时
3 Channel的分类
先看看最顶层的框架 Channel 网络 Socket 读写绑定的一种抽象 使用选择器监听 IO 事件的一个抽象类 保存了 JDK 底层的一个 Channel 看过服务 Channel 后,再看看客户端 Channel 客户端与服务端的 Channel 在 unsafe 类上也不同 客户端 Chanel 服务端 Chanel 用于某种 Chanel 的读写情况 不同端配置项也不同
4 新连接NioEventLoop的分配和selector注册
即为此处调用 回去看看 register 方法
5 NioSocketChannel读事件的注册
可以开始接收数据了 回顾一下创建
6 新连接接入总结
boss线程的第一个过程轮训处Accept事件,然后boss线程第二个过程通过jdk底层的channel的accept方法创建该连接。 新连接NioEventLoop的分配和selector注册可以回答。boss线程调用chooser的next方法,拿到一个NioEventLoop,然后将这条连接注册到NioEventLoop的selector上面。