我正在尝试为 UDP 数据包流序列化一些数据,并且我从序列化中获得了巨大的开销。如果我用 1k 字节数组对 FileData 进行编码,我会得到 2312 个字节。我如何在不自己编码和解码所有内容的情况下减少这种开销?
[<Serializable>]
type Response =
| FileSize of String * int64
| FileData of int64 * byte[]
with
static member Decode(packet : byte[]) =
use ms = new MemoryStream(packet)
let bf = new BinaryFormatter()
bf.Deserialize(ms)
|> unbox<Response>
member this.Encode() =
use ms = new MemoryStream()
let bf = new BinaryFormatter()
bf.Serialize(ms, this)
ms.GetBuffer()