2014-09-26 74 views
1

我有一个项目需要几个设备使用REST服务将数据提交到本地网络上的中央服务器。我正在尝试确定我在Android中需要多少客户端。每个设备都将快速生成数据(即传感器数据),因此其客户端会发送频繁的请求,但也可以将数据捆绑到较大的较不频繁的数据中。我估计每个客户端的吞吐量约为每秒50KB。Android中的REST客户端吞吐量

REST客户端是一种合适的策略吗?多少数据会太多?任何想法都将不胜感激。

即使是可取的,有几个选项从诸如

我几年前有自己的实现,使用HttpClient,但它可能已过时。

+0

请尝试指定“快速生成数据”。每秒或每分钟一次?并发送多少数据?一个字或1 MB? – Simulant 2014-09-26 07:41:12

+0

@Simulant我对这个问题增加了一个估计。 – 2014-09-29 08:09:42

回答

0

因为您不断发送数据,我会优先创建一个Socket通信。使用REST,您需要为每个数据块发送新的POST,包括http开销。 Socket通信将保持活跃状态​​,开销应该更小。

1

这在很大程度上取决于您的具体需求,但

你也可以只发送sensorDatas每10分钟例如(数字想通)的列表,如你前面提到的。发送这些集合具有客户可以确定集合何时被发送的魅力,例如每10分钟或每10个条目,或者在设备进入stanby/onPause等之前。

在服务器侧,必须有一种方式放入/张贴由客户创建的集合。根据您的需要,集合可以分为服务器上的单个资源。 客户端实现不应该远离发布单个sensorData。这只是成套发送。

另一方面,套接字通信使您的RESTful服务非常无用。因为我得到的印象是,过程并不复杂,我会去使用HttpClient 自己的实现我会事先阅读有关不同的HttpClient。 (这里有一个apache和一个与Android SDK一起滚动的分支,我目前不知道这是否会让你陷入麻烦)。