1

我有一个由服务器和客户端应用程序组成的解决方案。

问题是大多数用户都是通过小型GPRS连接连接的,与服务器同步数据很慢,所以我正在寻找一些方法来减少交换数据的大小。

实际上,应用程序使用带有 TextMessage 编码的 HTTP 连接。

我看到我可以用二进制编码对其进行编码,这将节省我一些时间,而且我也刚刚看到有一个 gzip 编码器:http: //msdn.microsoft.com/en-us/library/ms751458.aspx .

在示例中,它有一个 textMessage 内部编码器,但我想知道是否有任何理由不使用二进制内部编码?

在 gzip 压缩之前进行二进制编码是否有悖于生产力?

4

1 回答 1

0

您必须使用您的特定数据分析各种选项才能回答这个问题。例如,我对 protobuf-net 数据(一个不相关的二进制序列化器)做了很多工作,是否压缩取决于确切的数据。如果数据是大量基于文本的,或者有很多重复,那么即使在二进制序列化之后,它也可能会很好地压缩。但是,在许多情况下,尝试对数据进行 gzip 压缩会导致其大小增加

所以; 这是非常具体的数据。

如果带宽是您的主要问题,我可能会说:检查 WCF 和 DataContractSerializer 之类的东西是否对您有所帮助。就我个人而言,我会看一些更小的东西(可能是 json 或 protobuf-net)和原始套接字或基本的 http 主体。这里有一些带宽比较

于 2012-05-25T07:45:42.593 回答