netty4.1.32パイプラインおよびオーダー実行順序を追加[ターン]

オリジナル:https://www.cnblogs.com/ruber/p/10186571.html

 

この記事では、これだけは理解していないか、コードのデコードを追加するのか分からないので、実行順序発行パイプラインについて話をしたい、混乱や物事のようにシリーズを追加することではありません

 

1 pipeline.addLast(新しいoutboundsHandler1())。// OUT1 
2 pipeline.addLast(新outboundsHandler2()); // OUT2 
3          
4 pipeline.addLast(新しいInboundsHandler1())。// in1の
5 pipeline.addLast(新InboundsHandler2()); //平方インチ
6 pipeline.addLast( "ハンドラ"、新HelloServerHandler()); //立方インチ

データを読み、最も基本的で起動し、データは、実行順序をデコードし、同じ注文IN1に登録する必要があります - > [IN2 - > ctx.fireChannelRead(MSG)によって、それらの間の立方インチ;渡さ

変換>のうち - 復号化された論理処理、ctx.writeAndFlushを介したデータ伝送は、()内から終了します

伝達関数; - シス - アウトは逆の順序で実行し、登録されている、すなわち、OUT2>との間の転送は、シーケンシャルctx.writeAndFlush()を介してOUT1 

ctx.channel()。writeAndFlush()和ctx.writeAndFlush()区别

彼はinhandlerの前で最後の1を入れなければならない、と言うouthandlerオンライン登録(この例では立方インチ早い)、実際には、正確ではない、など

1 pipeline.addLast(新しいInboundsHandler1())。// in1の
2 pipeline.addLast(新InboundsHandler2()); //平方インチ
3 pipeline.addLast( "ハンドラ"、新HelloServerHandler()); //立方インチ
4 
5 pipeline.addLast(新outboundsHandler1()); // OUT1 
6 pipeline.addLast(新outboundsHandler2()); // OUT2

例えば、私はctx.writeAndFlush()が前方に移動するために、現在のノードからクラスハンドラを見つけることですので立方インチが、実行はctx.writeAndFlush()は、何が起こるか、outhandler、呼び出さない場合は、実行を受け、ノードから、登録の背中を出します背後にある現在のノードに登録

この場合、彼はctx.channel()writeAndFlush(実施すべきouthandler処理を実行するために取得するためには);.これは、クラスハンドラを見つけるために、リストの前方開始端で、これは2種類の違いであるwriteAndFlush

この引数は、状況下で、あるいは深い理解にを使用するためにオンラインctx.writeAndFlush()一つの方法を使用することです!

 

アウト通常ChannelOutboundHandlerAdapterから継承されてエンコードするために使用することができます

ChannelInboundHandlerAdapterから継承さで、通常は復号化するために使用

おすすめ

転載: www.cnblogs.com/tc310/p/11130925.html