新睿云

> 知识库 > Netty简化和封装TCP/UDP编程 简化操作网络间的通讯

Netty简化和封装TCP/UDP编程 简化操作网络间的通讯

作者/来源:小睿 发布时间:2019-12-20

Netty是Network Server,处于Web Server更下层的网络框架。Netty通过使用NIO的很多新特性,对TCP/UDP编程进行了简化和封装,提供了更容易使用的网络编程接口,按需封装独特的HTTP Server或者FTP Server等。

netty

Netty提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty 的内部实现时很复杂的,但是Netty提供了简单易用的 api 从网络处理代码中解耦业务逻辑。Netty 是完全基于NIO实现的,所以整个 Netty 都是异步的。

简单点说就是Netty提供了一个简单,间接的方法来操作网络之间的通讯。

使用Netty带来的优势

API使用简单,开发门槛低。

功能强大,预置了多种编解码功能,支持多种协议开发。

定制能力强,可以通过ChannelHadler进行扩展。

性能高,对比其它NIO框架,Netty综合性能最优。

经历了大规模的应用验证。在互联网、大数据、网络游戏、企业应用、电信软件得到成功,很多著名的框架通信底层就用了Netty,比如Dubbo。

稳定,修复了NIO出现的所有Bug。

切换IO和NIO,因为IO和NIO的API完全不同,相互切换非常困难。

与类似的框架Mina相比有什么优势?

1)都是Trustin Lee的作品,Netty更晚;

2)Mina将内核和一些特性的联系过于紧密,使得用户在不需要这些特性的时候无法脱离,相比下性能会有所下降,Netty解决了这个设计问题;

3)Netty的文档更清晰,很多Mina的特性在Netty里都有;

4)Netty更新周期更短,新版本的发布比较快;

5)它们的架构差别不大,Mina靠apache生存,而Netty靠jboss,和jboss的结合度非常高,Netty有对google protocal buf的支持,有更完整的ioc容器支持(spring,guice,jbossmc和osgi);

6)Netty比Mina使用起来更简单,Netty里你可以自定义的处理upstream events 或/和 downstream events,可以使用decoder和encoder来解码和编码发送内容;

7)Netty和Mina在处理UDP时有一些不同,Netty将UDP无连接的特性暴露出来;而Mina对UDP进行了高级层次的抽象,可以把UDP当成”面向连接”的协议,而要Netty做到这一点比较困难。

热门标签
new year
在线咨询
咨询热线 400-1515-720
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待