iphone - 从网络切换时如何接收来自 NSURLConnection Delegate 的数据?

标签 iphone objective-c ios nsurlconnection nsurlconnectiondelegate

我正在创建一个与远程服务器通信的类。目前我的设备 (iPhone 4) 通过 WiFi 和本地网络蜂窝网络进行连接。默认情况下它使用 wifi。在这两种情况下它都工作得很好。

但是,当我从 WiFi 切换到手机服务时,它会遇到错误委托(delegate)。即使连接发生变化,我也希望保持通信继续进行。

这可能吗?如何? 谢谢,

最佳答案

我不认为这是可能的。切换网络后,您可能也切换了 IP 地址。连接由端点的 IP 地址(以及协议(protocol)和协议(protocol)特定数据,例如端口号)定义。因此,当 IP 地址更改时,您无法维持连接。您必须清理并处理断开的连接,然后打开一个新连接。

如果您使用的高级协议(protocol)(例如 FTP 或 HTTP)允许,您可以尝试在中断点恢复数据传输。例如,如果下载文件,您可以从上次收到的数据的文件位置继续下载。

关于iphone - 从网络切换时如何接收来自 NSURLConnection Delegate 的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060885/

相关文章:

iphone - 构建应用时需要支持ios 4多任务怎么办?

iphone - 从 NSURL 字符串中获取一个特殊的子字符串

objective-c - 如何从 NSString 中删除隐藏字符?

objective-c - 如何像 Pages app 那样实现 "New Document"窗口?

ios - 无 Internet 连接时将 POST 请求保存到 Core Data

ios - 在另一个模态视图 Controller 中关闭模态视图 Controller

ios - 在 Iphone 6 plus 和 Iphone 7 plus 上按钮不起作用

iphone - iPhone 上的 OpenGL 渐变填充看起来有条纹

ios - 从 applicationWillEnterForeground 重新加载 TableView

iOS 8 以一种奇怪的方式崩溃