handler
注册父通道
childHandler
的通道处理程序注册子通道
的通道处理程序看似相同的处理程序监听不同通道上的事件并具有不同的行为.
在这种情况下LoggingHandler
,第一个记录父通道中发生的事件,包括端口绑定和接受新连接.所以它产生如下所示的日志(简化和评论):
//父通道注册
INFO - [id: 0xb94a8e7c] REGISTERED
//父通道绑定到localhost:8009
INFO - [id: 0xb94a8e7c] BIND: 0.0.0.0/0.0.0.0:8009
//父通道激活
INFO - [id: 0xb94a8e7c, L:/0:0:0:0:0:0:0:0:8009] ACTIVE
//父通道接受新连接,创建了ID为0xe507ce8f的子通道
INFO - [id: 0xb94a8e7c, L:/0:0:0:0:0:0:0:0:8009] RECEIVED: [id: 0xe507ce8f, L:/0:0:0:0:0:0:0:1:8009 - R:/0:0:0:0:0:0:0:1:54398]
假设子通道读取请求中的数据,第二个中的记录器将产生如下内容:
//子通道注册
INFO - [id: 0x15fee362, L:/0:0:0:0:0:0:0:1:8009 - R:/0:0:0:0:0:0:0:1:55459] REGISTERED
//子通道活动
INFO - [id: 0x15fee362, L:/0:0:0:0:0:0:0:1:8009 - R:/0:0:0:0:0:0:0:1:55459] ACTIVE
//子通道收到7个字节的数据,"hello\r \n"
INFO - [id: 0x15fee362, L:/0:0:0:0:0:0:0:1:8009 - R:/0:0:0:0:0:0:0:1:55459] RECEIVED: 7B
//记录接收数据的十六进制转储
+-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 68 65 6c 6c 6f 0d 0a |hello.. | +--------+-------------------------------------------------+----------------+