1

現在のシナリオでは、固定メッセージ サイズ (32 * 1024 バイト) を既存の非 netty サーバーに送信している既存の非 netty クライアントがあります。サーバーを Netty を使用するように変更中ですが、ビジネス ロジック ハンドラーの前にパイプラインに追加する必要があるハンドラーが不明です。SSL を使用する場合は、最初に SSL ハンドラーをパイプラインに追加し、ビジネス ロジック ハンドラーを最後に追加します。では、途中で必要なハンドラーは何ですか? セットサイズの FrameDecoder が必要ですか (存在する場合)? メッセージは文字で区切られていないので、DelimiterBasedFrameDecoder を使用する必要はないと思います。StringDecoder や StringEncoder を使用する必要もありません。

    …
    …

    pipeline.addLast("ssl", new SslHandler(engine));

    // Anything to add here for fixed sized byte[] messages??????

    // and finally add business logic handler
    pipeline.addLast("handler", new BusinessLogicHandler());
  …
  …

ブートストラップには、次のオプションを設定しました。

   this.bootstrap.setOption("keepAlive", true);
    this.bootstrap.setOption("sendBufferSize", 32*1024);
    this.bootstrap.setOption("receiveBufferSize", 32*1024);
    this.bootstrap.setOption("tcpNoDelay", true);   

writeBufferHighWaterMark オプションも設定する必要がありますか?

ありがとうございました

4

1 に答える 1

1

固定サイズのメッセージの場合、ビジネス ハンドラーの前に FixedLengthFrameDecoder を追加します。

見る:

http://netty.io/3.6/api/org/jboss/netty/handler/codec/frame/FixedLengthFrameDecoder.html

于 2013-01-20T08:53:24.497 に答える