Netty一个事件驱动的异步网络应用程序框架

Netty


Netty 是一个 NIO 客户端/服务器框架,它能够快速轻松地开发网络应用程序,例如协议服务器和客户端。它极大地简化了 TCP 和 UDP 套接字服务器等网络编程。

“快速简便”并不意味着最终的应用程序会面临可维护性或性能问题。Netty 的设计基于我们在实现众多协议(例如 FTP、SMTP、HTTP 以及各种二进制和基于文本的传统协议)方面积累的经验。因此,Netty 成功地找到了一种在不牺牲任何性能的情况下实现易于开发、性能、稳定性和灵活性的方法。

特性

设计

  • 统一的 API,适用于各种传输类型 - 阻塞和非阻塞套接字
  • 基于灵活且可扩展的事件模型,可清晰地分离关注点
  • 高度可定制的线程模型 - 单线程、一个或多个线程池(例如 SEDA)
  • 真正支持无连接数据报套接字(自 3.1 版本起)

易于使用

  • 完善的 Javadoc、用户指南和示例
  • 无需额外依赖,JDK 5(Netty 3.x)或 JDK 6(Netty 4.x)即可
    • 注意:某些组件(例如 HTTP/2)可能有更多要求。请参阅要求页面了解更多信息。

性能

  • 更高的吞吐量,更低的延迟
  • 更少的资源消耗
  • 最大限度地减少不必要的内存复制

安全性

  • 完全支持 SSL/TLS 和 StartTLS

链接

如何构建

有关构建和开发 Netty 的详细信息,请访问开发者指南。本页面仅提供非常基础的信息。

构建 Netty 需要以下资源:

请注意,这是构建时的要求。JDK 5(适用于 3.x)或 6(适用于 4.0+ / 4.1+)足以运行基于 Netty 的应用程序。

需要查看的分支

所有版本的开发都在每个分支中进行,其名称与“.”相同。例如,3.9 和 4.1 的开发分别位于 分支“3.9”分支“4.1”

JDK 9+ 使用指南

您可以阅读 模块化 Netty 指南,了解更多关于如何将 Netty 与 Java 平台模块系统结合使用的信息,该指南
包含用户部分和面向 Netty 贡献者的开发者部分。

关于项目

Netty 是一个异步事件驱动的网络应用程序框架,可以快速轻松地开发网络应用程序(例如协议服务器和客户端)。它极大地简化了 TCP 和 UDP 套接字服务器等网络编程。
Apache-2.0
Java
34,487
16181
1712
2010-11-09
2025-10-12

增长趋势 - stars