处理多个异步响应

时间:2014-02-19 10:29:25

标签: android web-services asynchronous

我是一名网络开发人员并为Android编写服务。我正在工作的android开发人员正在向服务器发送多个异步调用,并要求我在每个服务的响应中发送服务代码,因为他将能够决定特定响应属于哪个服务他之前寄过。

在Android中是否有办法跟踪多个异步调用的响应?为什么服务器应该告诉android服务的服务。

2 个答案:

答案 0 :(得分:2)

服务器无需发送任何代码。他可以使用IntentService使用密钥发送每个http请求。在服务器的每个响应中,他将密钥放在一个包中,比较它并做他想做的事。

请参阅此代码:https://github.com/JCERTIFLab/jcertif-android-2013/blob/master/src/com/jcertif/android/fragments/InitialisationFragment.java

答案 1 :(得分:1)

我认为他们不需要服务代码来跟踪响应请求对,因为如果5个线程发送5个不同的请求,那么,所有这些都只接收他们的响应。

回复的检索顺序可能有所不同。 让我们假设一个条件,

  1. ThreadA发送requestA。
  2. ThreadB发送requestB。
  3. 然后,

    1. ThreadA仅接收responseA。
    2. ThreadB仅接收responseB。
    3. 订单变化: ThreadB响应可能在ThreadA之前出现。