Netty channelActive vs channelRead0

时间:2017-04-01 00:21:05

标签: netty

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

2 个答案:

答案 0 :(得分:1)

如果您想在握手成功时做某事,可以使用:

class MyHandler extends ChannelInboundHandler { @Override public void userEventTriggered(ChannelHandlerContext ctx, Object evt) { if (evt == SslHandshakeCompletionEvent.SUCCESS) { // Your handling logging } else { super.userEventTriggered(ctx, evt); } } }

答案 1 :(得分:0)

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