1

私は MINA を使い始めようとしていますが、すべての例では、同じタイプのデータを何度も書き込むことができるメソッドを使用するのではなく、セッションにデータが書き込まれているようです。

org.apache.mina.filter.codec.demux.MessageEncoder/ MessageDecoderto encode/メッセージを利用しようとしていdecodeます。これにより、例のようにコード内でインラインで実行するのではなく、常に中央の場所でタスクを実行できます。

( を実装し、ファクトリのメソッドを介して追加された) を持つ(ProtocolCodecFactoryを拡張する ) があるとします。ユーザー名/パスワードのデータで直接呼び出すのではなく、次のようにする必要があるということですか?DemuxingProtocolCodecFactoryLoginRequestEncoderMessageEncoder<LoginRequest>addMessageEncodersession.write()

LoginRequest request = new LoginRequest(username, password);
new ProtocolCodecFactory()
    .getEncoder(session)
    .encode(session, request, someProtocolEncoderOutput);

うそをつくつもりはありません... MINA はネットワーキング プロセスを簡素化するように思われます。

4

1 に答える 1

2

IoSession.write()を介して簡単にリクエストを送信できることがわかりました。これは、私の元の質問に基づく簡単な例です。

LoginRequest request = new LoginRequest(username, password);
session.write(request);
于 2010-01-25T00:20:12.453 に答える