ですこれはJSONを使用するとうまく動作するため、別の場所で問題になることはありません。Flatbufferバッファは、私は、スキーマを持って常に空
私はServerToClientMessage
をシリアル化してバイト配列を返すと考えられるFlatSerialize
拡張メソッドを持っています。しかし、私のbuffer.Data
は常に空です...それはちょうどゼロでいっぱいです。私のServerToClientMessage
はデータを持っています - それはMessageIdとImageBytesの両方を持っています。ここで
は、直列化の拡張機能である:
public static byte[] FlatSerialize(this ServerToClientMessage message) {
var builder = new FlatBufferBuilder(1);
//Create an ID
var MessageId = builder.CreateString(message.MessageId.ToString());
//Start the vector...
//Loop over each byte and add it - my god, is there not a better way?
FlatServerToClientMessage.StartImagebytesVector(builder, message.ImageBytes.Length);
foreach(var imageByte in message.ImageBytes) {
builder.AddByte(imageByte);
}
var imagebytes = builder.EndVector();
//Start the FlatServerToClientMessage and add the MessageId and imagebytes
FlatServerToClientMessage.StartFlatServerToClientMessage(builder);
FlatServerToClientMessage.AddMessageid(builder, MessageId);
FlatServerToClientMessage.AddImagebytes(builder, imagebytes);
//End the FlatServerToClientMessage and finish it...
var flatMessage = FlatServerToClientMessage.EndFlatServerToClientMessage(builder);
FlatServerToClientMessage.FinishFlatServerToClientMessageBuffer(builder, flatMessage);
var buffer = builder.DataBuffer;
return buffer.Data;
}
誰もが私のbuffer.Data
がちょうどゼロで満たされている理由の任意のアイデアを持っていますか?
ありがとうございました! – pookie