2014-10-19 253 views

回答

5

在編寫基於Netty的客戶端時,使用AbstractBootstrap中定義的handler

當編寫基於netty的服務器,可以在多個可接受的通道上工作時,使用ServerBootstrap中定義的childHandler,使用一個子處理程序來處理接受的通道的I/O和數據。

+0

你會這麼好心地闡明你的答案嗎? – raffian 2014-12-23 01:55:52

0

Handler方法將在ServerBootstrap初始化時執行,但childHandler將在連接完成時執行。

b.group(bossGroup, workerGroup) 
    .channel(NioServerSocketChannel.class) 
    .handler(new LoggingHandler(LogLevel.INFO)) 
    .childHandler(new ServerInitializer(this.hander)); 

當你啓動服務器,你可以看到如下的記錄:

2017-09-20 08:44:34,034 INFO nioEventLoopGroup-2-1 LoggingHandler:150 [id: 0x920c9647, L:/0:0:0:0:0:0:0:0:6030] ACTIVE 
2017-09-20 08:44:34,034 INFO nioEventLoopGroup-3-1 LoggingHandler:150 [id: 0x048bb39e, L:/0:0:0:0:0:0:0:0:6031] ACTIVE