c# - .NET 中快速紧凑的对象序列化

标签 c# .net serialization

我想使用对象序列化在 Mono 之间通过网络进行通信服务器和 Silverlight 客户端。 序列化的空间效率和速度非常重要,因为服务器将托管多个实时游戏。

我应该使用什么技术? BinaryFormatter 为序列化类(版本、区域性、类名、属性名等)增加了很多开销,而这在该应用程序中是不需要的。

我可以做些什么来提高空间效率?

最佳答案

您可以使用 Protocol Buffers .我正在将所有序列化代码从 BinaryFormatter with compression 更改为 Protocol Buffers 并获得非常好的结果。它在时间和空间上都更有效率。

Jon Skeet 有两个 .NET 实现和 Marc Gravell .

更新:可以找到官方.NET 实现here .

关于c# - .NET 中快速紧凑的对象序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/549128/

相关文章:

.net - 如何从 MDIChild 表单内部正确显示对话框()?

c# - XmlSerializer 不可靠还是我做错了什么?

c# - 第二个窗体首先加载,主窗体在第一个窗体关闭之前不可见

c# - 关于 StructLayoutAttribute 中 sizeof(T) 的 CS0233 有什么替代方案吗?

c# - 在 .NET 服务器上使用计时器

c# - 右键单击文件以使用 .NET 程序打开它

javascript - 在JSON.Net序列化json中配置$id

c# - 反射(reflect)类型时出现错误 - XML 序列化问题

c# - 将非常大的整数压缩成尽可能小的字符串

c# - ASP.net Web API : change class name when serializing