Netty channelActive vs channelRead0

Netty channelActive vs channelRead0,netty,Netty,我正在使用netty 4.0.33构建SSL/TLS客户机/服务器。对于每个连接,我都要记录一条消息,说明两个对等方之间的TLS连接成功。 我应该把这段代码放在哪里?channelActive还是channelRead0?我对channelActive和channelRead0的用途有点困惑。看起来在服务器端,我们根本不需要channelActive。这是真的吗?您可以将LoggingHandler添加到管道中,如果客户端处于活动状态,它将记录日志。主动意味着连接。ChannelRead在cha

我正在使用netty 4.0.33构建SSL/TLS客户机/服务器。对于每个连接,我都要记录一条消息,说明两个对等方之间的TLS连接成功。
我应该把这段代码放在哪里?channelActive还是channelRead0?我对channelActive和channelRead0的用途有点困惑。看起来在服务器端,我们根本不需要channelActive。这是真的吗?

您可以将LoggingHandler添加到管道中,如果客户端处于活动状态,它将记录日志。主动意味着连接。ChannelRead在channelActive之后调用,在这里您可以读取消息。在channelActive中,如果需要,您可以初始化一些有用的内容(例如,将连接的频道添加到队列)。

如果您想在握手成功时执行某些操作,可以使用:


类MyHandler扩展了ChannelInboundHandler{
@凌驾
public void userEventTriggered(ChannelHandlerContext ctx,Object evt){
if(evt==SslHandshakeCompletionEvent.SUCCESS){
//你的处理日志
}否则{
超级用户事件触发(ctx、evt);
}
}
}

谢谢你的回答。我试图实现的目标是,如果SSL连接成功,那么记录它。如果客户端刚刚完成TCP握手,并且没有启动SSL,那么也要记录它。