从网络切换时如何从NSURLConnectionDelegate接收数据?

时间:2012-06-16 04:42:42

标签: iphone objective-c ios nsurlconnection nsurlconnectiondelegate

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

然而,当我从wifi切换到单元服务时,它会遇到错误委托。即使连接发生变化,我也希望保持通信。

有可能吗?怎么样? 谢谢,

1 个答案:

答案 0 :(得分:1)

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

如果您正在使用的高级协议(如FTP或HTTP)允许,您可以尝试在中断时恢复数据传输。例如,如果下载文件,您可以在收到的最后一个数据的文件位置恢复下载。