如果首次发送失败,何时再次尝试上传数据?

时间:2012-08-20 09:07:33

标签: objective-c ios mobile timeout http-post

在我的应用程序(iOS)中,数据上传(http post)有时会在糟糕的网络(EDGE)上失败(超时)。

重试的最佳策略是什么?

我应该立即重试还是应该等待“更好”的网络条件? 怎么可能实现呢?

2 个答案:

答案 0 :(得分:0)

我建议首先尝试正常但是当它失败时,显示一个UIAlertView的消息,例如:“无法连接到服务器,你想再试一次”。放置YesNo按钮。当用户点击YES时,请再试一次。

答案 1 :(得分:0)

有很多方法可以解决这个问题,但您选择的方法很大程度上取决于您的应用程序,以及您发布的数据的重要性:

  1. 假设您在后台执行此操作(异步),只需继续重试,直到它工作 - 可能最多次。
  2. 通知用户并询问他们是否想再试一次(让他们知道他们需要网络连接)。
  3. 存储所有未传输数据的缓存,并在一段时间后重新尝试,或在应用重启或应用程序背景时重试。
  4. 没有最佳策略 - 这一切都取决于您的应用的用例。