从Java Socket非阻塞到Netty入门流程
Java IO,Socket非阻塞通信流程 这里我们使用一个内嵌的永久循环,来让Socket成为一个非阻塞的通信流程。 如上图所示,ServerSocket是我们自建的一个类,通过启动线程,且线程内置一个真循环, 防止accept阻塞 ; 在客户端监听类上,将监听到的socket作为参数,传递到客户端监听类上,并再次启动线程,获取一个InputStream,同时再次在这个刚刚启动线程内置一个真循环,为的是 不断获取信息并回写 ; 这里要注意的是,第一个真循环是 保证获取新连接不会阻塞 ,第二个真循环是 保证不停的获取客户端信息并回写 ; 关于客户端则通过端口和IP,启动线程,通过一个循环不停的向服务端写数据; Netty入门 基于上面的图,我们也可以学习Netty相关的基础入门。 NioEventLoop(事件循环) 1、新连接接入 2、连接上的数据读取 Channel(抽象连接) Socket、SocektChannel(IO\NIO)抽象 ChannelHandler(业务逻辑处理) 读写数据期间的业务层 PipeLine(动态链处理) 多个ChannelHandler组成,让消息可以层层处理 ByteBuf(数据接收) 基本的数据处理基于ByteBu 来源: oschina 链接: https://my.oschina.net/u/4553591/blog/4326425