netty(三) 组件介绍

netty各组件说明:
channel ----- Socket
EventLoop -------控制流,多线程处理,并发
channelFuture ------- 异步通知

channel:
主要是实现socket的I/O操作,降低直接使用socket的复杂性,提供了EmbeddedChannel,LocalServerChannel,NioSocketChannel等实现,可选择性使用;

EventLoop:
是netty的核心抽象,用于处理连接的生命周期中所发生的事件。EventlLoop是由EventLoopGroup来提供的。
一个EventLoopGroup可以包含多个EventLoop;一个EventLoop是一个Tread线程,可以分配给一个或者多个channel;
一个channel在生命周期中只注册一个EventLoop。

channelFuture:
作为异步回调的监听方法,可设置addListener监听,用于发送信息后的回调等操作。

==============================================
(在EventLoop上)
channelHandler:
充当处理所有入站和出站数据的应用程序逻辑的容器。数据格式的转化,编码和解码。
常用的有ChannelInboundHandler,ChannelOutboundHandler等。

ChannelPileline:
是ChannelHandler链的容器,并定义用于在该链上的传播入站和出站事件流的API.channelPipleline中的ChannelHandlerContext是用于代表
channelHandler和channelPipleline之间的绑定,用于获得上下文的。

==============================================
bootStrap 和 serverBootstrap
用于实现应用程序ip,端口的绑定并启动的引导作用。
bootStrap:用于客户端,需要一个EventlLoopGroup
ServerBootStrap用于服务端的,需要两个EventLoopGroup;一个用于ServerChannel绑定本地端口正在监听的套接字;一个用于处理传入的客户端连接的channel;

时间: 2024-12-27 23:32:02

netty(三) 组件介绍的相关文章

netty基本组件介绍

Netty做为一款用于搭建高性能网络应用程序的高级框架,由以下几个主要构件组成: 一.Channel Channel 是java NIO的一个基本构造,可以把channel看作是传入或者传出的数据载体,可以被打开或者关闭,连接或者断开连接.简单来说其实就是我们平常网络编程中经常使用的socket套接字对象. 二.EventLoop EventLoop定义了Netty的核心对象,用于处理IO事件,多线程模型.并发.EventLoop及其相关的设计实现,我们这里不做深入了解.只需要暂时了解以下几点:

Netty快速入门(08)ByteBuf组件介绍

前面的内容对netty进行了介绍,写了一个入门例子.作为一个netty的使用者,我们关注更多的还是业务代码.也就是netty中这两种组件: ChannelHandler和ChannelPipeline---对应于NIO中的客户逻辑实现handleRead/handleWrite(interceptor pattern) ByteBuf---- 对应于NIO 中的ByteBuffer 我们的业务逻辑要放在handler里面,读写数据用的是ByteBuf.其余的Transport.ServerBoo

学习 java netty (三) -- Channel

学习 java netty (三) – Channel 前言:netty封装的channel,看一下官网的定义 A nexus to a network socket or a component which is capable of I/O operations such as read, write, connect, and bind. 可以I/O操作(如读,写,连接和绑定)的连网套接字或组件 A channel provides a user: All I/O operations a

ExtJS 4.2 组件介绍

目录 1. 介绍 1.1 说明 1.2 组件分类 1.3 组件名称 1.4 组件结构 2. 组件的创建方式 2.1 Ext.create()创建 2.2 xtype创建 1. 介绍 1.1 说明 ExtJS的强大功能之一是提供了非常丰富的组件,包括grid(表格).panel(面板).form(表单).button(按钮).progressBar(进度条)等等. 一个的ExtJS 4应用程序的UI界面,就是由一个或多个组件组成. 这里将会介绍组件的分类.名称.结构以及创建方式. 1.2 组件分类

关于Android四大基本组件介绍与生命周期(转)

Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据. 典型的动作类型有

Hadoop以及组件介绍

一.背景介绍 在接触过大数据相关项目的时候常常都会听到Hadoop这个东西,简单来说,他是一个用分布式计算来处理大数据的开源软件,下面包含了许多的组件和子项目,这篇文章将会介绍Hadoop的原理以及一些组件的应用. 二.准备工作 1.确认储存规模 有很多的大数据项目其实数据量跟本没这么大,跟本不需要到使用Hadoop这类的大数据软件,所以,第一步应该是先确认数据量有多大,真的MySQL跑的太久再去使用Hadoop就好. 2.确认数据类型 除了结构化数据以外,现在有些大数据项目需要处理的是一些非结

开源分布式Job系统,调度与业务分离-HttpJob.Agent组件介绍以及如何使用

项目介绍: Hangfire:是一个开源的job调度系统,支持分布式JOB!! Hangfire.HttpJob 是我针对Hangfire开发的一个组件,该组件和Hangfire本身是独立的.可以独立更新Hangfire版本不影响! 该组件已被Hangfire官方采纳,在Hangfire官网可以查到: 开源地址: https://github.com/yuzd/Hangfire.HttpJob 该项目目的是: 剥离Job调度和业务 共有三篇文章 开源分布式Job系统,调度与业务分离-如何创建周期

[转]UiPath教程:UiPath及其组件介绍

本文转自:http://www.rpa-cn.com/UiPathxuexirenzheng/UiPathzaixianxueyuan/2019-06-05/937.html 根据德勤2018年的调查显示,53%的受访者已经开始了他们的RPA之旅,预计在未来两年这一比例将上升到72%.随着采用RPA的增加,企业正在寻找具有RPA认证的专业人员.现在在这个UiPath教程中,我将详细介绍UiPath工具,即项目的类型.UiPath组件.UiPath安装等等,这些工具使您能够自动化重复的任务,并将枯

精通并发与Netty入门一:Netty理论知识介绍

Netty是目前无论是国内还是国外各大互联网公司必备的一个网络应用框架.Netty本身既然是网络框架,处理的基本都是与网络相关的这样的一些作用.由于Netty本身在设计上的一些非常巧妙的方式,是对于NIO的一个很好的实现.Netty在各种应用场景下都会得到很广泛的应用.无论是传统的基于http的这种短连接方式还是基于底层Socket的这样的访问方式.另外还支持H5中规范中新增加的一个特别重要的标准,就是关于长连接的websocket这样一种新的规范.Netty对于其提供了非常好的支撑.那么Net