阅读(4961) (2)

Netty核心之Transport(传输)

2017-08-03 09:24:47 更新

本章将着重介绍Netty核心功能中的transport(传输),讲一些他们的用例以及 API:

  • NIO
  • OIO
  • Local(本地)
  • Embedded(内嵌)

网络应用程序让人与系统之间可以进行通信,当然网络应用程序也可以将大量的数据从一个地方转移到另一个地方。如何做到这一点取决于具体的网络传输,但转移始终是相同的:字节通过线路。传输的概念帮助我们抽象掉的底层数据转移的机制。所有人都需要知道的是,字节在被发送和接收。

当你做过Java中的网络编程的时候,你应该会发现要支持的并发连接会比预期中要多得多,当然这只是在某些时候会出现的情况。如果你再尝试从阻塞切换到非阻塞传输,则可能遇会到的问题,因为 Java 的公开的网络 API 来处理这两种情况有很大的不同。

Netty 在传输层的API是统一的,这使得比你用 JDK 实现更简单。你无需重构整个代码库,然后将时间花到其他更值得去做的事情上。

在本章接下来的内容中,我们将对这个统一的API进行研究并将它与JDK对比一下,让大家了解它比JDK更具易用性。我们将介绍不同的捆绑在 Netty 的传输实现和适当的用例。吸收这些信息后,你就知道如何选择适合您的应用的最佳选择。

本章的唯一前提是 Java 编程语言的知识。最好是有网络框架或网络编程的经验,但也不是必需的。

接下来就让我们来看看现实世界传输是如何工作的。