Netty中的Bootstrap 類型

2022-06-30 09:48 更新

Netty中的引導(dǎo)類型有兩種。不僅僅是當(dāng)作的“服務(wù)器”和“客戶”的引導(dǎo),更是要考慮他們的目的能支持的應(yīng)用程序的功能。從這個意義上講,“服務(wù)器”應(yīng)用程序把一個“父”管道接受連接和創(chuàng)建“子”管道,而“客戶端”很可能只需要一個單一的、非“父”對所有網(wǎng)絡(luò)交互的管道(對于無連接的比如 UDP 協(xié)議也是一樣)。

如圖9.1所示,兩個引導(dǎo)實(shí)現(xiàn)自一個名為 AbstractBootstrap 的超類。

Figure 9

Figure 9.1 Bootstrap hierarchy

前面的章節(jié)介紹的許多我們共同關(guān)注的話題,同樣適用于客戶端和服務(wù)器。這些都是由 AbstractBootstrap 處理,從而防止重復(fù)的功能和代碼。專業(yè)引導(dǎo)類可以完全專注于它們獨(dú)特的需要關(guān)心的地方。

克隆引導(dǎo)類

我們經(jīng)常需要創(chuàng)建多個通道具有相似或相同的設(shè)置。支持這種模式而不需要為每個通道創(chuàng)建和配置一個新的引導(dǎo)實(shí)例, AbstractBootstrap 已經(jīng)被標(biāo)記為 Cloneable。調(diào)用 clone() 在一個已經(jīng)配置引導(dǎo)將返回另一個引導(dǎo)實(shí)例并且是立即可用。

注意,因?yàn)檫@將創(chuàng)建只是 EventLoopGroup 淺拷貝,后者將會共享所有的克隆管道。這是可以接受的,因?yàn)橥强寺〉墓艿朗?short-lived(短暫的,典型示例是管道創(chuàng)建用于 HTTP 請求)

下面內(nèi)容將會關(guān)注 Bootstrap 和 ServerBootstrap


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號