1

我有 android 库存应用程序。此时应用程序正在通过 https 与服务器通信。我已经启用了 gzip 并且它正在工作。当用户扫描条形码时,应用程序会将该代码和手机 ID 发送到服务器。我通过 XML 来完成。然后服务器响应 xml 女巫包含一些数据。就像每个仓库的数量是,价格,产品名称。然后用户确认金额,应用程序再次发送到服务器并回复消息(好的,或不好的)。

当库存通过 WiFi 时,这不是问题,速度好,延迟低。但是,当库存通过移动网络时,通信就会有延迟。我需要为通信创建二进制格式吗?而且 XML 数据有很大的开销(不需要的数据,如标签等)。还是有一些通信中数据量最小化的标准或最佳实践?

4

3 回答 3

1

如果您主要关心减少有效负载的大小,那么您肯定希望查看与 XML 不同的格式。一种流行的选择是来自 Google的protobuf 。

于 2012-10-18T17:30:12.090 回答
1

您无法从应用程序调整延迟。您可以使有效载荷更小以加快传输速度,仅此而已。查看 JSON。它比 XML 轻得多,几乎所有语言都原生支持它。

于 2012-10-18T17:35:36.710 回答
0

如果从客户端到服务器的请求太多,您可能会考虑更改服务器 API。例如,在获取库存时,您可以使用单独的 API 来获取产品类别,然后在获取类别后,发出单独的调用来获取每个类别的产品,每个产品都有一个 API 来获取详细信息。为了最大限度地减少请求数量,您可以创建一个 API,为您提供所有类别、每个类别下的所有产品以及这些产品的详细信息。这种方法将减少客户端和服务器之间的请求数量。

如果负载的大小真的很大,你可以尝试更轻量级的 JSON。

于 2012-10-18T17:36:29.097 回答