从Android设备向Apache Web服务器发送数据的有效方式

时间:2011-12-31 10:34:25

标签: php apache android-internet html-post

我想将传感器数据从Android设备发送到Apache Web服务器。传感器使用IOIO board连接到Android设备,并定期采样。

原始传感器数据大约是1个字节/秒,我正在尝试找到一种有效的方法将其发送到基于Apache的Web服务器,并且支持PHP和ASP(我认为是ChiliASP)。

为了降低每月费用,我想使用预付费移动订阅,这些通常有固定的最大数据限制(类似500 MB /月)。

由于传感器应该24/7发送数据,我希望将所需的数据流量保持在最低限度。即使数据量不是很大,我认为协议头的开销可能是一个问题。如果单独发送每个样本(1个字节),则开销/有效负载比率将非常差。解决方案当然是聚合一些数据并以更大的块发送它。

我已经成功测试了Java HttpURLConnection以使用HTTP POST发送数据,并对此有一些疑问:

  1. 由HTTP标头引起的开销有多大?是否有一些简单的方法来衡量它?
  2. 我可以考虑使用Android和Apache支持的其他协议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用简单的HTTP GET/POST请求,并将json编码数据作为参数发送到以php或您选择的任何其他语言实现的Web服务。我不认为它比http get / post和json更简单/更小(除非有人可以纠正我)。 JSON是一种优秀,简单且灵活的数据交换格式,比xml更简单,更简洁。 JSON解析本身可以在大多数语言中使用,包括Java,JavaScript和PHP。它也被广泛使用。

例如,HTTP get请求除了您希望发送的参数长度之外没有太多开销。这是典型的GET请求:

GET /pub/WWW/TheProject.php?arg1=foo&arg2=bar HTTP/1.1 

arg1& arg2是我传递给TheProject.php的参数。