objective-c - Objective-C - 从 WiFi 切换到 3G,反之亦然

标签 objective-c ios nsurlconnection asihttprequest reachability

我正在开发一个使用网络的 iPhone 应用程序。 iPhone 通过 HTTP 请求与我的服务器通信,应该可以在 WiFi 和 3G 上工作。
我目前使用 NSURLConnection initWithRequest 向我的服务器发送异步请求并获得响应(但我很快就会转向使用 ASIHTTPRequest 库)

有一件事我不确定,
当用户设备从 WiFi 切换到 3G(或相反)时会发生什么?

我知道不能使用相同的连接,必须建立新的连接。
但是我需要做些什么来处理这种情况,还是 NSURLConnection 会自动处理它?<​​br/> 例如,如果我发送了一个请求,并且在获取响应的过程中连接发生了变化,这个请求会发生什么情况?

我看过 Apple 的 Reachability 示例代码,我知道我可以使用 Reachability 来检测网络变化,但不确定如何处理这些变化。

最佳答案

当连接从 3G 变为 WiFi 时,当前请求将导致失败状态,是的,您将需要做一些事情来重新建立连接(重启、恢复等...)

话虽如此,我不确定,但我认为 ASIHTTPRequest 有一种机制可以解决这些问题,例如当您请求下载文件时

关于objective-c - Objective-C - 从 WiFi 切换到 3G,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11176833/

相关文章:

objective-c - 带有旋转的自定义 UIViewController 转换

objective-c - NSCollectionView:只接受项目之间的拖动,而不是超过

ios - 如何管理 iOS 中项目和框架之间的常见依赖关系

iphone - 什么时候使用哪个? NSURLConnection 与较低级别的套接字 API

iphone - 仅在慢速连接时清除IdleCellConnections

ios - 从 NSURLConnection 收集数据

iOS 从 avplayer 获取音频时长

iphone - 使用 OCunit 在 iOS 上测试异步代码

iOS 在 UIImageView 顶部淡化为黑色

ios - 应用程序无法访问您的照片或视频 iOS 9