Netty網絡抽象的代表
Channel---Socket
EventLoop---控制流、多線程處理绳匀、并發(fā)
ChannelFuture---異步通知
Channel接口的實現(xiàn)
Channel是對socket的封裝,其包含下面的一些實現(xiàn)
EmbeddedChannel
LocalServerChannel
NioDatagramChannel
NioSctpChannel
NioSocketChannel
EvenetLoop接口
EventLoop定義了各組件的一些關系箍铭,這些關系是
一個EventLoopGroup包含一個或者多個EventLoop
一個EventLoop在它的生命周期內只和一個Thread綁定
所有的EventLoop處理的I/O事件都將在它專有的Thread上被處理
一個Channel在它的生命周期內只注冊于一個EventLoop
一個EventLoop可能會被分配給一個或多個Channel
ChannelFuture接口
由于netty的I/O操作是異步的汰规,因此當我們執(zhí)行一個操作的時候可能不會立即返回結果根穷,所以我們需要一種在之后的某個時間點確定其結果的方法醇蝴。為此宣肚,Netty提供了一個ChannelFuture接口,其addListener()方法注冊了一個ChannelFutureListener悠栓,以便在某個操作完成的時候得到通知
ChannelHandler和ChannelPipeline
ChannelHandler
充當了所有處理入站和出站數據的應用程序邏輯的容器
ChannelPipeline