0
@Override
public void messageReceived(NextFilter nextFilter, IoSession session, Object message) throws Exception
{
}

メッセージをバイトストリームとして読み取る必要があります。ただし、完全なメッセージが受信されることを保証するものではありません。16 バイト未満のメッセージを破棄する必要があります。バイト全体の長さが 16 に達したら、それらをデコードして使用する必要があります。いずれにせよ、それが 17 バイトで呼び出された場合、16 バイトのみを処理し、次のサイクルのために残りを残す必要があります。reset() と mark() はこれを助けてくれます。ミナにそれをバッファするように頼む方法はありますか. または、独自のバッファを使用する必要がありますか?

4

1 に答える 1

0
  1. 16 未満の場合、バッファを破棄するように IoBuffer の位置を設定できます。
  2. は 16 に等しいです。これは true であるため、デコードできます。
  3. 16 より大きい場合、前の 16 バイトを切り取ってデコードし、残りのバイトを現在のセッションに保存できます
于 2013-10-29T09:11:24.613 に答える