c# - 压缩 XML 指标。

标签 c# xml winforms vb6 compression

我有一个客户端服务器应用程序,它通过 TCP/IP 从客户端向服务器发送 XML,然后向其他客户端广播。我如何知道通过压缩 XML 而不是通过常规流发送可以保证性能改进的 XML 的最小大小。

关于这个或例子有什么好的指标吗?

最佳答案

Xml 通常压缩得很好,因为它往往有很多重复。

另一种选择是转换为二进制格式; BinaryFormatter 或 NetDataContractSerializer 是简单的选项,但众所周知,与 xml 相比,两者都不兼容(例如与 java)。

另一种选择是可移植的二进制格式,例如谷歌的“ Protocol Buffer ”。我维护一个名为 protobuf-net 的 .NET/C# 版本.它旨在与常规 .NET 方法(例如 XmlSerializer/DataContractSerializer)并行兼容,但比 xml 小得多,并且序列化和反序列化所需的处理(CPU 等)要少得多。

This page显示 XmlSerializer、DataContractSerializer 和 protobuf-net 的一些数字;我认为它包括有/没有压缩的统计数据,但它们似乎已经消失了......

[更新] 我应该说 - QuickStart 项目中有一个 TCP/IP 示例。

关于c# - 压缩 XML 指标。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/236496/

相关文章:

vb.net - 更改 Windows 中的窗口区域

c# - 如何确保 Windows 窗体应用程序的数据库安全?

c# - 正则表达式转义问号和双引号

java - 如何在 XStream 的 XML 中使用常量

java - 如何获取代表具有特定 [property,object] 对的对象的 RDF 资源?

xml - 如何修改XSL中变量的值?

c# - datepicker 没有选择自定义日期格式?

c# - C#中的组合算法

c# - 池化的 HttpClient 实例是否保留 CookieContainer?

c# - 最佳重载方法匹配有一些无效参数