3

ConnectionlessBootstrapは、バインド時に単一のチャネルを作成します。同じチャネルが、すべてのリモート アドレスからのすべての受信メッセージに対してアップストリームで使用され、送信メッセージに対してダウンストリームで使用されます。したがって、同じパイプライン オブジェクトが使用されます。

ServerBootstrapは、接続時にリモート アドレスごとに新しいチャネルを作成するため、新しいパイプラインが作成されます。

ConnectionlessBootstrap が各リモート アドレスに対して新しいチャネルを作成することが望ましいです。これにより、ChannelTrafficShapingHandler や OrderedMemoryAwareThreadPoolExecutor などの「チャネル固有のハンドラー」を使用できるようになります。このチャネルは、同じリモート アドレスへのすべての着信/発信メッセージに使用する必要があります。

次に、リモートアドレスなしで channel.write() を使用して、tcp アプリケーションを udp に簡単に移植することもできます。

切断がないため、ReadTimeoutHandler を使用してチャネルを閉じることができます。

現在、これらのハンドラーの機能が必要な場合は、データがリモート アドレス固有のオブジェクトに格納される「パイプラインの外側」に再実装する必要があります。

どう思いますか ?

-- ロン

4

0 に答える 0