ネットワーク経由でデータを送受信するために使用して、protobuf-net でアプリを作成しています。
誰かがこの行に例外をスローさせる何かを送信できるかどうか/どのように送信できるかを知りたいです:
var message = Serializer.DeserializeWithLengthPrefix<ReceiveType>(
memoryStream, PrefixStyle.Fixed32);
この時点で、次のことを確認したと想定しています。
- (編集)メッセージ全体がすでに受信され
MemoryStream
、メッセージの逆シリアル化に使用される に配置されました(つまり、ストリームが切断されるリスクはありません)。 - 長さの接頭辞には、適切なサイズの数が含まれています (つまり、メモリ不足になることはありません)。
- メッセージ本文は、プレフィックスによって約束された大きさとまったく同じです。
これまでのところ、さまざまな可能性を試してきましたが、最悪のmessage
場合null
、必須フィールドであっても、メッセージ本文にランダムな意味不明な内容が含まれている場合でも、フィールドはまたはその他のデフォルト値になります。