NIO与Netty通信步骤

Linux的NIO实现方式

https://www.jianshu.com/p/718c24af400f

NIO通信步骤

1.创建ServerSocketChannel,为它配置非阻塞模式

2.绑定监听,配置TCP参数,录入backlog大小等等

3.创建一个独立的IO线程,用于轮询多路复用器Selector

4.创建Selector,将之前创建的ServerSocketChannel注册到Selector上,并设置监听标识位SelectionKey.ACCAPT

5.启动IO线程,在循环体中执行Selector.select()方法,轮询就绪通道

6.当轮询到处于就绪的通道时,进行操作位判断,如果是ACCEPT状态,说明新的客户端接入,则调用accept方法接受新的客户端

7.设置新接入客户端的一些参数,如非阻塞、并将其通道继续注册到Selector之中,设置监听标识位等

8.如果轮询的通道操作位是READ,则进行读操作

Netty通信步骤

1.创建两个NIO线程组,一个专门用于网络事件处理(接受客户端连接),另一个则进行网络通信读写

2.创建一个ServerBootstrap对象,配置Netty的一系列参数,例如接受传出参数的缓存大小等等

3.创建一个实际处理数据的类ChannelInitializer,进行初始化准备工作,比如设置接受传出数据的字符集

、格式、已经实际处理数据的接口

4.绑定端口,执行同步阻塞方法等待服务器端口启动即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容