欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

我的Netty开发

程序员文章站 2022-03-02 15:24:42
...
[b]我的Netty开发[/b]
版权所有!

Netty和Mina都是异步网络通信库,两者的性能都很优秀,而且都是技术非常成熟的框架,所以精通其中一个库即可。

[b]一、Netty介绍[/b]

Netty是一个异步事件驱动的网络应用程序框架,准确说是一个Java NIO客户端/服务器框架,用于快速开发和维护高性能协议的服务器/客户端通信。Netty极大地简化和精简了网络编程的过程,尤其是TCP和UDP的Socket服务器编程。
Netty内部设计很严密,实现了FTP、SMTP、HTTP等协议,以及各种二进制的协议和基于文本的协议。
Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框架构建。
Netty基于Apache 2.0许可证发布。

[b]二、Netty特征[/b]

Netty的特点有:

1. 设计方面
针对各种传输类型(阻塞和非阻塞的套接字)提供了统一的API
基于灵活和可扩展的事件模型,可专注于业务开发
高度可定制的线程模型——单线程、一到多个线程池(比如SEDA)
支持真正无连接的数据报套接字

2. 易用性方面
有良好的JavaDoc、用户指南和实例(客观地说,文档太少)
除了JDK 1.5以上,无其它依赖包

3. 性能方面
更高的吞吐量、更低的延迟率
资源消耗低
不必要的内存复制尽可能少

4. 安全方面
完整的支持SSL/TLS和StartTLS
可以运行于严格的环境,比如Applet或OSGi

[b]三、Netty库的下载[/b]

Netty 4.0.23Final稳定版与8月15日发布。下载地址为:
[url]http://dl.bintray.com/netty/downloads/netty-4.0.23.Final.tar.bz2[/url]
除此之外,还有4.1的Beta版,以及5.0的Alpha版。

还可以从Maven*仓库下载Netty,只需在POM中做如下配置:
<dependencies>
...
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.23.Final</version>
<scope>compile</scope>
</dependency>
...
</dependencies>


要说明一点,Netty库需要JDK 1.5以上版本的支持。

以上只是我在Netty道路上的第一步,在以后的日子里我会继续深入Netty通信库。
相关标签: Netty