2013-11-26 51 views
1

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

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

回答

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' 
相关问题