Netty框架

Netty是一个Java框架,用于快速开发高性能、高可靠性网络服务器和客户端程序。它封装了网络编程的复杂性,提供易于使用的API。Netty基于Java NIO,利用其非阻塞IO特性,通过事件驱动模型和Channel、ChannelHandler、Future等核心组件,实现了灵活的并发模型和多种协议支持,包括TCP、UDP。框架内置多种编解码器,简化协议处理,适用于构建HTTP、WebSocket等服务器。

目录

Netty概述

体系结构

Channel

ChannelHandler

Future

事件

Netty核心概念

Netty的主要用途


Netty概述

Netty是一个基于Java NIO的高性能网络框架,广泛应用于需要高效处理大量并发连接的场景中。它提供了异步和事件驱动的网络编程模型,支持 TCP 和 UDP 协议,并且内置了多种传输方式,如NIO、Epoll等。Netty可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等。

传统的HTTP服务器的流程

  1. 创建一个ServerSocket,监听并绑定一个端口
  2. 一系列客户端来请求这个端口
  3. 服务器使用Accept,获得一个来自客户端的Socket连接对象
  4. 启动一个新线程处理连接
    1. 读Socket,得到字节流
    2. 解码协议,得到Http请求对象
    3. 处理Http请求,得到一个结果,封装成一个HttpResponse对象
    4. 编码协议,将结果序列化字节流
    5. 写Socket,将字节流发给客户端
  5. 继续循环步骤3

HTTP服务器之所以称为HTTP服务器,是因为

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆驼整理说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值