【问题标题】:When to resend data?何时重新发送数据?
【发布时间】:2013-05-08 08:51:23
【问题描述】:

我正在编写一个向服务器发送和接收数据的应用程序。

将数据发送到服务器很重要,因此我会跟踪已发送和未发送的内容。

下载数据不那么重要,但上传很重要。

无论如何,上传可能会失败(如果没有互联网连接等...),所以我正在标记这些记录,以便我知道它们尚未发送到服务器。

我的问题是……我应该什么时候重新发送这些数据?

我真的不想要一个计时器,因为它看起来有点矫枉过正。我是否应该监视网络连接并在网络恢复时发送剩余的任何内容?但是,如果在应用未运行时连接发生变化,我会错过它。

也许我应该在用户发送新内容时查找未发送的内容?

【问题讨论】:

  • 假设您找到了解决拥有两部手机的用户的数据冲突的方法,当应用从后台唤醒时,您仍然可以在应用委托中检查连接,并发送(或不发送)一个发送更多数据的通知。此外,由于上传至关重要,您可能希望将其放入后台任务中。
  • 啊,好主意,谢谢。我已经在后台运行了所有上传的东西,并且它们都由一个带有 NSOperationQueue 的类管理。不过,在唤醒时检查连接是一个绝妙的主意。谢谢。
  • 检查连接是一个额外的步骤。您可以简单地使用 NSURLConnection 发送数据,如果成功或失败,您都会收到回复。
  • 我认为我的问题被混淆了。我在问什么时候应该在它失败一次后重新发送它。无论如何,我现在已经使用了@Alex 的建议,谢谢。

标签: ios objective-c network-programming


【解决方案1】:

在我看来:

  1. 每次发送数据时都需要检查网络状态。
  2. 在发送数据时还要注意连接
  3. 如果数据上传成功,从服务器向客户端发送一个确认,这样可以确保数据成功上传。

【讨论】:

    猜你喜欢
    • 2016-12-09
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多