使用HTTP网络处理互联网连接变化的最佳方式

max*_*ax_ 6 networking objective-c httprequest nsoperation ios

通常,在我的iOS应用程序中使用相当多的HTTP请求与服务器通信,我将NSBlockOperation添加到应用程序的全局NSOperationQueue,然后在应用程序检测到Internet连接状态发生更改时挂起并启用队列,从而节省任何请求当前在队列中,直到队列被取消暂停.但是,我不能完全确定以这种方式,当前正在运行的任何操作都将被停止,然后重新添加到队列的顶部.

我的问题是:当您使用HTTP请求到远程服务器时,有没有更好的方法来处理网络状态的变化,即暂停,恢复,取消请求等...

Luk*_*uke 2

您可以使用Reachability类来检测网络状态何时发生变化,以避免发送请求。这是基于Apple 提供的一些示例代码并进行更新的。这将让您知道互联网连接何时发生变化,而无需轮询。

据我所知,这是检测网络可用性的最佳方法。当网络再次可用时,您将收到即时通知。我相信它甚至会告诉您可用的连接类型(WiFi 或蜂窝网络)。

如果在发出请求时连接断开,您将必须按照当前的情况处理该情况。