Netty中的Bootstrap 類型

2022-06-30 09:48 更新

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

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

Figure 9

Figure 9.1 Bootstrap hierarchy

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

克隆引導(dǎo)類

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)