我想使用对象序列化在 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/