Netty教程

Netty教程

Netty是用于Java的高性能IO工具包。 Netty是开源的,所以你可以自由使用它,甚至可以为它做出贡献。 本Netty教程将解释Netty如何工作,以及如何开始使用Netty。 本教程不会涵盖Netty的每一个细节。

Netty介绍

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

'快速和简单'并不意味着由此产生的应用程序将受到可维护性或性能问题的困扰。 Netty的设计经验非常丰富,包括FTP,SMTP,HTTP以及各种基于二进制和基于文本的传统协议等。 因此,Netty成功地找到了一种方法来实现轻松的开发。

特征

1、适用于各种传输类型的统一API - 阻塞和非阻塞套接字

2、基于灵活和可扩展的事件模型,可以清晰地分离问题

3、高度可定制的线程模型 - 单线程,一个或多个线程池,如SEDA

4、支持无连接数据报套(自3.1以来)

Netty的优势

一般情况下,与使用标准Java实现相同,Netty使构建可伸缩,强大的网络应用程序变得更容易。 Netty还包含一些操作系统特定的优化,例如在Linux上使用EPOLL等。

Netty工具

Netty包含一套令人印象深刻的IO工具。 其中一些工具是:

HTTP服务器

HTTPS服务器

WebSocket服务器

TCP服务器

UDP服务器

Netty包含的不仅仅是这些,同时Netty也在不断增加。

使用Netty的IO工具很容易启动HTTP服务器,WebSocket服务器等。它只需要几行代码。

Netty运行嵌入式

Netty运行嵌入在您自己的Java应用程序中。 这意味着您使用main()方法创建一个带有类的Java应用程序,并在该应用程序内创建Netty服务器之一。 这与Java EE服务器不同,在这种服务器中,服务器拥有自己的主方法,并以某种方式从磁盘加载代码。

Netty运行嵌入式意味着您可以使用Netty创建非常灵活的体系结构。 您不会被迫使用Java EE为您提供的模型。 Netty完全独立于Java EE规范。

了解Netty很重要

尽管Netty很容易使用,但有必要了解Netty如何在内部工作。 Netty使用单线程并发模型,并且围绕非阻塞IO设计。 这导致与实施Java EE应用程序时相比,编程模型明显不同。


分享到:


相關文章: