我有一个项目,其中有几个设备使用REST服务将数据提交到本地网络上的中央服务器。我想确定Android中我需要的客户端有多复杂。每个设备将快速生成数据(即传感器数据),因此其客户端将发送频繁的请求,但也可以将数据捆绑成更大,更不频繁的请求。我估计每个客户端的吞吐量大约为每秒50KB。
REST客户端是一个合适的策略吗?多少数据会太多?对此有任何想法将不胜感激。
即使是可取的,也有几个选项可供选择,例如
HttpUrlConnection
或HttpClient
几年前我确实有自己的实现使用HttpClient
,但它可能已经过时了。
答案 0 :(得分:1)
这在很大程度上取决于您的确切需求,但
例如,如前所述,你也可以每10分钟发送一次sensorDatas列表(数字表示)。发送这些集合具有客户可以确定何时必须发送集合的魅力,例如每10分钟或每10个条目,或者在设备进入stanby / onPause等之前。在服务器端,必须有一种方法来放置/发布客户端创建的集合。根据您的需要,集合可以分离到服务器上的单个资源中。 客户端实现不应该远离发布单个sensorData。这只是发送和发送。
另一方面,套接字通信使您的RESTful服务变得毫无用处。
因为我得到的印象是,过程并不复杂,我会使用HttpClient AND 进行自己的实现。我会事先阅读不同的HttpClients。 (有一个apache,并且它的一个分支随着Android SDK滚动。我目前不知道这是否会让你遇到麻烦)。
答案 1 :(得分:0)
因为您经常发送数据,我会优先创建Socket通信。使用REST,您需要为每个数据块发送一个新的POST,包括http开销。 Socket通信将保持活跃,开销应该更少。