2017-04-01 7 views
1

私はSSL/TLSクライアント/サーバーを構築するためにnetty 4.0.33を使用しています。接続ごとに、2つのピア間でTLS接続が成功したというメッセージを記録します。 このコードスニペットはどこに置く必要がありますか? channelActiveまたはchannelRead0?私は、channelActiveとchannelRead0の目的についてちょっと混乱しています。サーバー側のように見えますが、channelActiveはまったく必要ありません。本当?Netty channelActiveとchannelRead0

答えて

0

LoggingHandlerをパイプラインに追加することができ、クライアントがアクティブな場合にログに記録されます。アクティブとは接続されていることChannelReadはchannelActiveの後に呼び出され、ここでメッセージを読むことができます。 channelActiveでは、必要に応じて便利なものを初期化できます(たとえば、接続されたチャンネルをキューに追加するなど)。ハンドシェイクが成功したとき、あなたが何かをしたい場合は

0

あなたが使用することができます答えを

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

+0

感謝を。私が達成しようとしている目標は、SSL接続が成功すればそれを記録することです。クライアントがTCPハンドシェイクを完了し、SSLを開始しない場合は、それもログに記録します。 – sonia

関連する問題