2014-10-19 255 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