【问题标题】:protobuf-net - Serialize class and save it to objectprotobuf-net - 序列化类并将其保存到对象
【发布时间】:2013-11-26 10:23:50
【问题描述】:

我一直在使用 Xml 序列化程序来序列化一个类并将其保存到一个对象中,然后我将其发送到服务器。由于我发送到服务器的消息量很大,我决定将序列化方法更改为会导致大小更小的东西。

我找到了 protobuf-net,但我只找到了有关如何将类序列化为文件流的文档。在我看来,如果您每秒发送超过 100 个包,则保存到文件然后将其发送到服务器不会很有效。 所以我的问题是,如何序列化一个类并将其保存到一个对象中?

【问题讨论】:

    标签: c# object serialization protobuf-net


    【解决方案1】:

    protobuf-net 可以写入(或读取)任何Stream 实现。 FileStream 只是一个例子。在机器之间进行通信的情况下,这可能是NetworkStream。如果您只想获取内存中的表单,请使用MemoryStream。例如:

    byte[] chunk;
    using(var ms = new MemoryStream())
    {
        Serializer.Serialize(ms, obj);
        chunk = ms.ToArray();
    }
    // now do something interesting with 'chunk'
    

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 2014-12-20
      相关资源
      最近更新 更多