Netty,简化Java网络编程

普通老式的java.net.Socket实在是太复杂,以至于很难弄正确。我觉得阻塞性是其根本性的缺陷。当你编写一个典型的带有Web前端的Java EE应用程序时,应用程序需要高并发度来支持大量的用户,而你现在最不想发生的是不具有可扩展的线程池坐等阻塞套接字。

目前有许多精彩可用的第三方库,使用它们可以更好的完成任务,比如Netty,开发者不妨尝试下。

Netty是由JBOSS提供的一个 java开源框架。Netty提供异步的、 事件驱动的网络 应用程序框架和工具,用以快速开发高性能、高可靠性的 网络服务器客户端程序。
也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户, 服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。
“快速”和“简单”并不意味着会让你的最终应用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的实现经验,这些协议包括FTP,SMTP,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。
特性:
处理大容量数据流更简单
处理协议编码和单元测试更简单
I/O超时和idle状态检测
应用程序的关闭更简单,更安全
更可靠的OutOfMemoryError预防
新的传输方式:
1.基于OIO和NIO的UDP传输
2.本地传输(又名 in-VM传输)
3.HTTP通道,可绕过防火墙
新的编码器:
1.HTTP客户端和服务器端
2.用于实现各种专有协议的工具
与其他技术的整合:
1.Google Protocol Buffers
2.JBoss Microcontainer, OSGi, Guice以及Spring
学习资料:

猜你喜欢

转载自09572.iteye.com/blog/1965429