我使用“protobuf-net”序列化结构,但它返回一个空数组。
public static byte[] PacketToArray(Packet packet)
{
IFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
Serializer.Serialize(stream, packet);
byte[] packetArray = stream.GetBuffer();
stream.Close();
return packetArray;
}
packetArray[] 在结尾 "{byte[0]}" 但应该有一些数据。 "packet" 的数据是:
[ProtoContract]
public struct Packet
{
[ProtoMember(1)]
public int opcode;
[ProtoMember(2)]
public string message;
}
在测试中,操作码的值为 0,消息为空。哪里有问题?