目标 C - 从 WiFi 切换到 3G,反之亦然
Posted
技术标签:
【中文标题】目标 C - 从 WiFi 切换到 3G,反之亦然【英文标题】:Objective C - Switching from WiFi to 3G and vice versa 【发布时间】:2012-06-24 10:53:28 【问题描述】:我正在开发一个使用网络的 iPhone 应用程序。 iPhone 通过 HTTP 请求与我的服务器通信,应该可以在 WiFi 和 3G 上运行。
我目前使用NSURLConnection initWithRequest
向我的服务器发送异步请求并获得响应(但我很快就会开始使用ASIHTTPRequest
库)
我不确定的一件事是,当用户设备从 WiFi 切换到 3G(反之亦然)时会发生什么?
我知道不能使用同一个连接,必须建立新的连接。
但是我需要做些什么来处理这种情况,还是NSURLConnection
会自动处理它?
例如,如果我发送了一个请求,并且在获得响应的过程中连接发生了变化,那么这个请求会发生什么?
我看到了 Apple 的 Reachability 示例代码,我知道我可以使用 Reachability 来检测网络变化,但不知道如何处理这些变化。
【问题讨论】:
【参考方案1】:当连接从 3G 变为 WiFi 时,当前请求将导致失败状态,是的,您需要做一些事情来重新建立连接(重启、恢复等...)
话虽如此,我不确定,但我认为ASIHTTPRequest
有一种机制可以在您请求下载文件时解决这些问题
【讨论】:
以上是关于目标 C - 从 WiFi 切换到 3G,反之亦然的主要内容,如果未能解决你的问题,请参考以下文章
将网络从 wifi 切换到 3g 时 Android/Xamarin.Android 休息客户端超时
Android:在应用程序中间切换 3G 到 WIFI = 失去网络连接