本文主要是介绍Netty源码解析-概述篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文是由code4craft发表在博客上的,原文基于Netty3.7的版本,源码部分对buffer、Pipeline、Reactor模式等进行了部分讲解,个人又继续新增了后续的几个核心组件的源码解读,新增了具体的案例。
Netty的源码非常好,质量极高,是Java中质量最高的开源项目之一,(比Spring系列源码高几层楼…)
我十分建议大家花上一周时间自习读一读。
概述
Netty是什么
大概用Netty的,无论新手还是老手,都知道它是一个“网络通讯框架”。所谓框架,基本上都是一个作用:基于底层API,提供更便捷的编程模型。那么"通讯框架"到底做了什么事情呢?回答这个问题并不太容易,我们不妨反过来看看,不使用netty,直接基于NIO编写网络程序,你需要做什么(以Server端TCP连接为例,这里我们使用Reactor模型):
- 监听端口,建立Socket连接
- 建立线程,处理内容
- 读取Socket内容,并对协议进行解析
- 进行逻辑处理
- 回写响应内容
- 如果是多次交互的应用(SMTP、FTP),则需要保持连接多进行几次交互
- 关闭连接
这篇关于Netty源码解析-概述篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!