前言
网络编程无处不在,Java JDK内置提供了OIO(BIO)、NIO的支持;没有看过Java BIO浅析、Java NIO浅析的小伙伴可以去看下BIO/NIO的小示例。但说到Java 网络编程少不了Netty;自它问世起就一直火到现在,像阿里的Dubbo框架、Jetty等都使用了Netty框架做为网络通信框架。
上篇Netty框架:用Service与Client示例入门中通过实现一个服务端与客户端互发消息功能的示例讲解了Netty框架NIO模型的网络编程方法,通过这样一个小示例了解决了Netty的使用方法。
到此你是否有疑问,为什么要用Netty框架编写网络通信层呢?Netty对比Java JDK提供的网络通信API有哪些不同?
在继续阅读下文前如果对Java JDK编写网络通信层不清楚的同学可以去看下用Java JDK 写的BIO与NIO通信的示例:Java BIO浅析、Java NIO浅析
统一的API接口
Netty框架的作用是实现网络通信,它提供了一套能用的网络通信API接口,这一套网络接口中包含了EventLoop、Channel、Buffer、Future等,通过这些接口可以统一规范的实现OIO、NIO、Epoll的网络缓和模型,在模型与模型之间迁移时提供了便利。Netty框架工作的网络模型中的传输层。
Netty默认支持的网络传输协议有TCP、UDP、SCTP、UDT。
传 输 方 式 |
---|