구조체를 serialize하는 데 "protobuf-net"을 사용하지만 빈 배열을 반환합니다.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 [] IST 끝에서 "{바이트 [0]}"그러나 일부 데이터가 있어야 를 "패킷"의 데이터이다.
[ProtoContract]
public struct Packet
{
[ProtoMember(1)]
public int opcode;
[ProtoMember(2)]
public string message;
}
그리고 testings를 년 vor opcode 값은 0이고 메시지 값은 null입니다. 문제가 어디에 있습니까?
난 당신이'ToByteArray()'대신''GetBuffer()의 호출 제안 - 그것은이 문제가 해결되지 않습니다, 그러나 그것은 * * 데이터의 오른쪽 양의 당신에게 바이트 배열을 줄 것이다, 나머지는 잘 했어. –