目录
Netty概述
Netty是一个基于Java NIO的高性能网络框架,广泛应用于需要高效处理大量并发连接的场景中。它提供了异步和事件驱动的网络编程模型,支持 TCP 和 UDP 协议,并且内置了多种传输方式,如NIO、Epoll等。Netty可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等。
传统的HTTP服务器的流程
- 创建一个ServerSocket,监听并绑定一个端口
- 一系列客户端来请求这个端口
- 服务器使用Accept,获得一个来自客户端的Socket连接对象
- 启动一个新线程处理连接
- 读Socket,得到字节流
- 解码协议,得到Http请求对象
- 处理Http请求,得到一个结果,封装成一个HttpResponse对象
- 编码协议,将结果序列化字节流
- 写Socket,将字节流发给客户端
- 继续循环步骤3
HTTP服务器之所以称为HTTP服务器,是因为