从Java Socket非阻塞到Netty入门流程
2020-06-28 05:29
1111 查看
ECharts5.0版本即将上线,来说说我与ECharts的那些事吧!>>>
Java IO,Socket非阻塞通信流程
这里我们使用一个内嵌的永久循环,来让Socket成为一个非阻塞的通信流程。
如上图所示,ServerSocket是我们自建的一个类,通过启动线程,且线程内置一个真循环,防止accept阻塞;
在客户端监听类上,将监听到的socket作为参数,传递到客户端监听类上,并再次启动线程,获取一个InputStream,同时再次在这个刚刚启动线程内置一个真循环,为的是不断获取信息并回写;
这里要注意的是,第一个真循环是保证获取新连接不会阻塞,第二个真循环是保证不停的获取客户端信息并回写;
关于客户端则通过端口和IP,启动线程,通过一个循环不停的向服务端写数据;
Netty入门
基于上面的图,我们也可以学习Netty相关的基础入门。
NioEventLoop(事件循环)
1、新连接接入
2、连接上的数据读取
Channel(抽象连接)
Socket、SocektChannel(IO\NIO)抽象
ChannelHandler(业务逻辑处理)
读写数据期间的业务层
PipeLine(动态链处理)
多个ChannelHandler组成,让消息可以层层处理
ByteBuf(数据接收)
基本的数据处理基于ByteBu
相关文章推荐
- PHP入门教程之操作符与控制结构流程详解
- kinect 2获取数据流程介绍(强烈推荐入门新手)
- T-SQL入门攻略之6-T-SQL运算符与流程控制
- Java socket通信实例,简单入门socket实例代码
- 【入门篇】Activiti完成指定流程定义下任务
- 业务流程执行语言 (BPEL)入门简介
- 【入门篇】Activiti查询指定流程定义下指定流程实例下历史任务
- netty入门及示例
- Activiti入门教程九(玩转RuntimeService流程控制API)
- netty快速入门
- kotlin开发Android入门篇二流程控制
- Netty入门二:开发第一个Netty应用程序
- Netty入门
- Netty(二)入门
- Netty入门之WebSocket初体验
- Python学习(二):入门篇:python中流程控制与函数编写
- 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V1 -- 入门应用
- Cordys BOP 4平台开发入门实战演练——While循环流程建模开发及测试
- 史上最不详细的Netty源码分析-Netty启动流程(继)
- [置顶] Activity启动流程源码分析之入门(一)