【发布时间】:2015-09-25 17:10:54
【问题描述】:
我有一个将实时数据发送到 PHP 服务器的 android 应用程序。数据采用 JSON 格式,并以 HTTP POST 请求从 Android 应用程序发送到 PHP。发送的数据非常大,达到 11KB。我需要每 2 秒发送 11 KB 的此类信息,持续 1 周。这导致了两个问题:
- 数据非常大,通过蜂窝网络发送。因此,事实证明这是一项相当昂贵的操作。
- 将这 11 KB 的信息从应用程序传输到服务器需要很长时间。从而延迟后续的 POST 请求,从而使整个数据传输非常非常缓慢。
我们考虑过使用 Web 套接字和协议缓冲区作为替代方案。这些选项的问题是我们需要更改代码的整个结构。
是否有任何其他选项可以帮助减少数据(例如显着压缩数据),以便通过蜂窝网络传输的数据消耗更少的空间并且可以更快地完成?我也读过关于 gson、bson 等的文章,但我不相信它们在当前 json 结构中的效率。
【问题讨论】:
-
你用的是什么http客户端?如果支持
gzip压缩,您可以启用它(某些客户端默认使用它 afaik) -
这是 11K 的全新数据,还是只是重复了一些相同的内容,只是做了一些更改
-
我在 Android 中使用 HTTPURLConnection。据说默认会压缩数据,但这并不足以满足我们的要求。
-
@RiggsFolly:它的全新数据。
-
用sockets代替http怎么样?