第四章 传输(Transports)

本章重点:

  • 传输

  • NIO,OIO,Local和Embedded

  • Use-cases

  • APIs

网络应用程序最重要的任务之一就是传输数据。根据所使用的传输类型,可以执行不同的操作,但是传输的内容始终相同:线路上的字节。传输有助于抽象数据的传输方式。您需要知道的就是您有要发送和接收的字节。仅此而已。

如果您曾经使用过Java提供的网络编程方法,则可能会遇到想要从阻塞传输切换为非阻塞传输,反之亦然的情况。由于使用不同的Java接口和类来处理阻塞与非阻塞,因此此开关不容易实现。

Netty在其传输实施之上提供了统一的API,这使这种情况更加容易。您将能够使代码尽可能通用,而不依赖于某些依赖于实现的API。无需重构整个代码库,因为您需要从一种传输方式转移到另一种传输方式。如果您在使用JDK随附的纯网络API时需要这样做,那么您已经知道这样的更改有多大。不要把时间浪费在这些无聊的东西上。把它花在更有生产力的东西上。

本章向您展示统一API的外观以及使用方法。我将其与JDK随附的API进行比较,并向您展示为什么Netty使其更易于使用。它还将说明与Netty捆绑在一起的各种传输实现,并且每种使用案例都将首选这些实现。收集了这些信息之后,您将能够为特定应用程序选择最佳选项,从而为您的用例提供最佳结果。

除了Java本身,没有其他需要。有网络框架或网络编程方面的经验可以帮助您,但不是必需的。

让我们看看运输在现实世界中是如何工作的。

最后更新于

这有帮助吗?