With the supplied network data and example proto schemas: the error message is correct. Firstly, note that you need to indicate (to DeserializeWithLengthPrefix) that we aren't using spoof field-numbers along with the headers; basically - tell it to use field-number zero:
Command comando = Serializer.DeserializeWithLengthPrefix<Command>(streamR, PrefixStyle.Base128, 0); ChannelInfo chInfo = Serializer.DeserializeWithLengthPrefix<ChannelInfo>(streamR, PrefixStyle.Base128, 0); (note the final 0 at the end) With this, the first message deserializes fine - the name is "ChannelInfo". The second message, however, fails. It fails because the second message starts: 0x0a, 0x14 - meaning "field 1, length prefixed, 20 bytes" - however, field 1 on ChannelInfo is "fixed32 serialNr = 1". This is *not* a valid match for a length-prefix wire-type. So; I can only conclude that either the .proto is wrong, or the second message is not actually a ChannelInfo. It does not match the definition. Marc -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To post to this group, send email to protobuf@googlegroups.com. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.