両端でTcpClientのNetWorkStreamの周りにCryptoStreamを使用してクライアント/サーバーをセットアップしています。NetworkStream から直接読み取ると、通信は双方向でうまく機能しますが、CryptoStream を使用すると、利用可能なデータの単一ブロックを読み取ることができません。私はCryptoStreamを閉じて、FlushLastBlockがサーバーから呼び出されるようにしています。実際、16バイトの唯一のブロック(AES暗号化)がクライアント側に表示されます。では、利用可能な完全なデータ ブロックがあるのに、CryptoStream.Read() ブロックがデータを待機するのはなぜでしょうか?
PS追加のブロックを送信すると、リーダーが最初のブロックを読み取ることができることを確認しました。これは単なるバグですか、それとも仕様ですか?