構造体のシリアル化に「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]}」にありますが、データが入っているはずです。「パケット」のデータは次のとおりです。
[ProtoContract]
public struct Packet
{
[ProtoMember(1)]
public int opcode;
[ProtoMember(2)]
public string message;
}
また、テストでは、opcode の値は 0 で、メッセージの場合は null です。問題はどこだ?