国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

Netty中 Bootstrapping 的作用

2018-08-08 10:27 更新

Bootstrapping是什么?它在Netty中有什么作用呢?Bootstrapping(引導) 是出現(xiàn)在Netty 配置程序的過程中,Bootstrapping在給服務器綁定指定窗口或者要連接客戶端的時候會使用到。

Bootstrapping 有以下兩種類型:

  • 一種是用于客戶端的Bootstrap
  • 一種是用于服務端的ServerBootstrap

不管程序使用哪種協(xié)議,創(chuàng)建的是一個客戶端還是服務器,“引導”都是必須要使用到的。

面向連接 vs. 無連接

請記住,這個討論適用于 TCP 協(xié)議,它是“面向連接”的。這樣協(xié)議保證該連接的端點之間的消息的有序輸送。無連接協(xié)議發(fā)送的消息,無法保證順序和成功性

兩種 Bootstrapping 之間有一些相似之處,也有一些不同。Bootstrap 和 ServerBootstrap 之間的差異如下:

Table 3.1 Comparison of Bootstrap classes

分類BootstrapServerBootstrap
網(wǎng)絡(luò)功能連接到遠程主機和端口綁定本地端口
EventLoopGroup 數(shù)量12

Bootstrap用來連接遠程主機,有1個EventLoopGroup

ServerBootstrap用來綁定本地端口,有2個EventLoopGroup

事件組(Groups),傳輸(transports)和處理程序(handlers)分別在本章后面講述,我們在這里只討論兩種"引導"的差異(Bootstrap和ServerBootstrap)。第一個差異很明顯,“ServerBootstrap”監(jiān)聽在服務器監(jiān)聽一個端口輪詢客戶端的“Bootstrap”或DatagramChannel是否連接服務器。通常需要調(diào)用“Bootstrap”類的connect()方法,但是也可以先調(diào)用bind()再調(diào)用connect()進行連接,之后使用的Channel包含在bind()返回的ChannelFuture中。

一個 ServerBootstrap 可以認為有2個 Channel 集合,第一個集合包含一個單例 ServerChannel,代表持有一個綁定了本地端口的 socket;第二集合包含所有創(chuàng)建的 Channel,處理服務器所接收到的客戶端進來的連接。下圖形象的描述了這種情況:

Figure%203

Figure 3.2 Server with two EventLoopGroups

與 ServerChannel 相關(guān) EventLoopGroup 分配一個 EventLoop 是 負責創(chuàng)建 Channels 用于傳入的連接請求。一旦連接接受,第二個EventLoopGroup 分配一個 EventLoop 給它的 Channel。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號