从Java Socket非阻塞到Netty入门流程

本博客 猫叔的博客,转载请申明出处git

阅读本文约 “4分钟”github

适读人群:同窗架构

Java IO,Socket非阻塞通讯流程

这里咱们使用一个内嵌的永久循环,来让Socket成为一个非阻塞的通讯流程。socket

image

如上图所示,ServerSocket是咱们自建的一个类,经过启动线程,且线程内置一个真循环,防止accept阻塞oop

在客户端监听类上,将监听到的socket做为参数,传递到客户端监听类上,并再次启动线程,获取一个InputStream,同时再次在这个刚刚启动线程内置一个真循环,为的是不断获取信息并回写学习

这里要注意的是,第一个真循环是保证获取新链接不会阻塞,第二个真循环是保证不停的获取客户端信息并回写线程

关于客户端则经过端口和IP,启动线程,经过一个循环不停的向服务端写数据;架构设计

Netty入门

基于上面的图,咱们也能够学习Netty相关的基础入门。设计

image

NioEventLoop(事件循环)

一、新链接接入3d

二、链接上的数据读取

Channel(抽象链接)

Socket、SocektChannel(IO\NIO)抽象

ChannelHandler(业务逻辑处理)

读写数据期间的业务层

PipeLine(动态链处理)

多个ChannelHandler组成,让消息能够层层处理

ByteBuf(数据接收)

基本的数据处理基于ByteBu

公众号:Java猫说

学习交流群:728698035

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不按期干货。

Image Text
相关文章
相关标签/搜索