繁体   English   中英

protobuf-net-序列化类并将其保存到对象

[英]protobuf-net - Serialize class and save it to object

我一直在使用Xml序列化程序来序列化一个类,并将其保存到一个对象中,稍后我将其发送到服务器。 由于我发送到服务器的消息数量很大,因此我决定将序列化方法更改为某种尺寸较小的东西。

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

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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM