Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发,是很多框架和公司都在使用的技术。
Netty并非横空出世,它是在BIO,NIO,AIO演变中的产物,是一种NIO框架。
一、BIO的理解
网络编程的基本模型是Client/Server模型,也就是两个进程之间进行相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的
地址发送连接请求,通过三次握手建立连接,如果连接成功,双方就可以通过网络套接字(Socket)进行通信。在基于同步堵塞模式开发中,ServerSocket负责绑定Ip地址,启动监
听端口。Socket负责发起连接操作。连接成功之后,双方通过输入和输出流进行同步堵塞式通信。
BIO流程图

BIO 全称Block-IO 是一种阻塞同步的通信模式。我们常说的StockIO一般指的是BIO。是一个比较传统的通信方式,模式简单,使用方便。但并发处理能力低,通信耗时,依赖网速。
BIO 设计原理:
服务器通过一个Acceptor线程负责监听客户端请求和为每个客户端创建一个新的线程进行链路处理。典型的一请求一应答模式。若客户端数量增多,频繁地创建和销毁线程会
给服务器打开很大的压力。后改良为用线程池的方式代替新增线程,被称为伪异步IO。服务器提供IP地址和监听的端口,客户端通过TCP的三次握手与服务器连接,连接成功后,双
放才能通过套接字(Stock)通信。
小结:BIO模型中通过Socket和ServerSocket完成套接字通道的实现。阻塞,同步,建立连接耗时。
本文介绍了Netty作为NIO框架的异步事件驱动网络应用框架,对比了BIO的传统通信方式,并详细讲述了其在并发处理和性能优化方面的优势。同时,提到了尚学堂的Java300集课程,适合学习者深化理解网络编程。
https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0
1169

被折叠的 条评论
为什么被折叠?



