【发布时间】:2013-05-08 08:51:23
【问题描述】:
我正在编写一个向服务器发送和接收数据的应用程序。
将数据发送到服务器很重要,因此我会跟踪已发送和未发送的内容。
下载数据不那么重要,但上传很重要。
无论如何,上传可能会失败(如果没有互联网连接等...),所以我正在标记这些记录,以便我知道它们尚未发送到服务器。
我的问题是……我应该什么时候重新发送这些数据?
我真的不想要一个计时器,因为它看起来有点矫枉过正。我是否应该监视网络连接并在网络恢复时发送剩余的任何内容?但是,如果在应用未运行时连接发生变化,我会错过它。
也许我应该在用户发送新内容时查找未发送的内容?
【问题讨论】:
-
假设您找到了解决拥有两部手机的用户的数据冲突的方法,当应用从后台唤醒时,您仍然可以在应用委托中检查连接,并发送(或不发送)一个发送更多数据的通知。此外,由于上传至关重要,您可能希望将其放入后台任务中。
-
啊,好主意,谢谢。我已经在后台运行了所有上传的东西,并且它们都由一个带有 NSOperationQueue 的类管理。不过,在唤醒时检查连接是一个绝妙的主意。谢谢。
-
检查连接是一个额外的步骤。您可以简单地使用 NSURLConnection 发送数据,如果成功或失败,您都会收到回复。
-
我认为我的问题被混淆了。我在问什么时候应该在它失败一次后重新发送它。无论如何,我现在已经使用了@Alex 的建议,谢谢。
标签: ios objective-c network-programming