誰かが次のコードを見て、長さ変数が0を返す理由を私に説明できるかどうか疑問に思っていました:
textToBeEncrypted = Encoding.ASCII.GetString(buffer);
txtEncryptedText = AESEncryption(textToBeEncrypted, key, true);
byte[] encText = Encoding.ASCII.GetBytes(txtEncryptedText);
NetworkStream stream = s.GetStream();
stream.Write(encText, 0, PACKET_SIZE);
s.ReceiveTimeout = Timeout;
int length = stream.Read(buffer, 0, PACKET_SIZE);
if (length == PACKET_SIZE)
{
string decText = Encoding.ASCII.GetString(encText);
txtDecryptedText = AESDecryption(decText, key, true);
buffer = Encoding.ASCII.GetBytes(txtDecryptedText);
retval = Decode();
}
AESを使用してすべてをエンコードした後、1366バイトのデータをencTextに書き出しています(PACKET_SIZEは1036です)。Sendに関する苦情はありません。データは楽しく送信されます。ただし、読み戻そうとすると、長さは常に0になります。つまり、デコードステートメントのブラケットを入力できません。何か案は?(retvalは文字列であり、誰もが尋ねる前に)