Netty核心之Transport(傳輸)

2021-11-19 10:50 更新

本章將著重介紹Netty核心功能中的transport(傳輸),講一些他們的用例以及 API:

  • NIO
  • OIO
  • Local(本地)
  • Embedded(內(nèi)嵌)

網(wǎng)絡(luò)應(yīng)用程序讓人與系統(tǒng)之間可以進(jìn)行通信,當(dāng)然網(wǎng)絡(luò)應(yīng)用程序也可以將大量的數(shù)據(jù)從一個地方轉(zhuǎn)移到另一個地方。如何做到這一點取決于具體的網(wǎng)絡(luò)傳輸,但轉(zhuǎn)移始終是相同的:字節(jié)通過線路。傳輸?shù)母拍顜椭覀兂橄蟮舻牡讓訑?shù)據(jù)轉(zhuǎn)移的機(jī)制。所有人都需要知道的是,字節(jié)在被發(fā)送和接收。

當(dāng)你做過Java中的網(wǎng)絡(luò)編程的時候,你應(yīng)該會發(fā)現(xiàn)要支持的并發(fā)連接會比預(yù)期中要多得多,當(dāng)然這只是在某些時候會出現(xiàn)的情況。如果你再嘗試從阻塞切換到非阻塞傳輸,則可能遇會到的問題,因為 Java 的公開的網(wǎng)絡(luò) API 來處理這兩種情況有很大的不同。

Netty 在傳輸層的API是統(tǒng)一的,這使得比你用 JDK 實現(xiàn)更簡單。你無需重構(gòu)整個代碼庫,然后將時間花到其他更值得去做的事情上。

在本章接下來的內(nèi)容中,我們將對這個統(tǒng)一的API進(jìn)行研究并將它與JDK對比一下,讓大家了解它比JDK更具易用性。我們將介紹不同的捆綁在 Netty 的傳輸實現(xiàn)和適當(dāng)?shù)挠美?。吸收這些信息后,你就知道如何選擇適合您的應(yīng)用的最佳選擇。

本章的唯一前提是 Java 編程語言的知識。最好是有網(wǎng)絡(luò)框架或網(wǎng)絡(luò)編程的經(jīng)驗,但也不是必需的。

接下來就讓我們來看看現(xiàn)實世界傳輸是如何工作的。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號