我的Netty开发

我的Netty开发
版权所有!

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

一、Netty介绍

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

二、Netty特征

Netty的特点有:

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

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

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

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

三、Netty库的下载

Netty 4.0.23Final稳定版与8月15日发布。下载地址为:
http://dl.bintray.com/netty/downloads/netty-4.0.23.Final.tar.bz2
除此之外,还有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通信库。

猜你喜欢

转载自jacktom.iteye.com/blog/2115982