Я хочу иметь простую часть кода, которая будет проходить через случайный поток буферов протокола и распечатать содержимое без явного понимания структурного содержимого. То, что эквивалентно XmlReader.Read() внутри цикла в то время какProtoBuf-Net сделать raw read
using (ProtoBuf.ProtoReader protoReader =
new ProtoBuf.ProtoReader(stream1, null,
new ProtoBuf.SerializationContext { }))
{
protoReader.ReadFieldHeader();
while (protoReader.WireType != ProtoBuf.WireType.None)
{
switch (protoReader.WireType)
{
case ProtoBuf.WireType.Fixed64:
Console.WriteLine(protoReader.ReadInt64());
break;
case ProtoBuf.WireType.Fixed32:
Console.WriteLine(protoReader.ReadInt32());
break;
case ProtoBuf.WireType.StartGroup:
Console.WriteLine(protoReader.ReadInt32());
break;
default:
Console.WriteLine(protoReader.WireType);
break;
}
}
}
Однако я не знаю, как продвигать буфер протокола к следующему элементу. В моем тесте он продолжает возвращать «StartGroup» и никогда не продвигается вперед. Как я могу перейти к следующему элементу в потоке?