【Netty 网络通信】Netty 工作流程分析

简介: 【1月更文挑战第9天】Netty 工作流程分析

Netty主要基于主从Reactor多线程模型。BossGroup线程维护Selector只关注Accept事件。当接收到Accept事件,获取到对应的SocketChannel,封装成NioSocketChannel并注册到Worker线程(事件循环),并进行维护。当Worker线程监听到Selector中通道发生自己感兴趣的事件后,就进行处理(Handler),注意Handler必须是添加到通道中的。

Netty工作原理:

  1. Netty抽象出两组线程池BossGroup专门负责接收客户端的连接,WorkderGroup专门负责网络的读写。
  2. BossGroupWorkerGroup类型都是NioEventLoopGroup
  3. NioeventLoopGroup相当于一个事件循环组。这个组中含有多个事件循环,每一个事件循环是NioEventLoop
  4. NioEventLoop表示一个不断循环的执行处理任务的线程,,每个NioEventLoop都有一个Selector,用于监听绑定在其上的Socket的网络通讯。
  5. NioEventLoopGroup可以有多个线程,即可以含有多个NioEventLoop
  6. 每个Boss NioEventLoop循环执行的步骤:
  1. 轮询处理Accept事件
  2. 处理Accept事件,与Client建立连接,生成NioSocketChannel,并将其注册到某个Worker NioEventLoop上的Selector
  3. 处理任务队列的任务,即runAllTask
  1. 每个Worker NioEventLoop循环执行的步骤:
  1. 轮询ReeadWrite事件
  2. 处理I/O事件,即ReeadWrite事件,在对应NioSocketChannel处理
  3. 处理任务队列的任务,即RunAllTask
  1. 每个Worker NioEventLoop处理业务时,会使用Pipelien(管道),Pipeline中包含了Channel,即通过Pipeline可以获取到对应的通道,Channel管道中维护了很多的处理器

相关文章
|
4月前
|
人工智能 边缘计算 物联网
蜂窝网络未来发展趋势的分析
蜂窝网络未来发展趋势的分析
159 2
|
4月前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
3月前
|
存储 安全 物联网
浅析Kismet:无线网络监测与分析工具
Kismet是一款开源的无线网络监测和入侵检测系统(IDS),支持Wi-Fi、Bluetooth、ZigBee等协议,具备被动监听、实时数据分析、地理定位等功能。广泛应用于安全审计、网络优化和频谱管理。本文介绍其安装配置、基本操作及高级应用技巧,帮助用户掌握这一强大的无线网络安全工具。
175 9
浅析Kismet:无线网络监测与分析工具
|
3月前
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
530 13
|
3月前
|
JSON 算法 Java
Nettyの网络聊天室&扩展序列化算法
通过本文的介绍,我们详细讲解了如何使用Netty构建一个简单的网络聊天室,并扩展序列化算法以提高数据传输效率。Netty的高性能和灵活性使其成为实现各种网络应用的理想选择。希望本文能帮助您更好地理解和使用Netty进行网络编程。
58 12
|
4月前
|
安全 网络协议 网络安全
【Azure 环境】从网络包中分析出TLS加密套件信息
An TLS 1.2 connection request was received from a remote client application, but non of the cipher suites supported by the client application are supported by the server. The connection request has failed. 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。连接请求失败。
132 2
|
3月前
|
安全 网络协议 网络安全
网络不稳定导致HTTP代理频繁掉线的分析
随着数字化时代的加速发展,网络安全、隐私保护及内容访问自由成为用户核心需求。HTTP代理服务器因其独特技术优势受到青睐,但其掉线问题频发。本文分析了HTTP代理服务器不稳定导致掉线的主要原因,包括网络问题、服务器质量、用户配置错误及IP资源问题等方面。
221 0
|
4月前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
447 0
|
4月前
|
存储 安全 网络安全
网络安全法律框架:全球视角下的合规性分析
网络安全法律框架:全球视角下的合规性分析
93 1
|
4月前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!

热门文章

最新文章