我正在创建一个与远程服务器通信的类。目前我的设备 (iPhone 4) 通过 WiFi 和本地网络蜂窝网络进行连接。默认情况下它使用 wifi。在这两种情况下它都工作得很好。
但是,当我从 WiFi 切换到手机服务时,它会遇到错误委托(delegate)。即使连接发生变化,我也希望保持通信继续进行。
这可能吗?如何? 谢谢,
最佳答案
我不认为这是可能的。切换网络后,您可能也切换了 IP 地址。连接由端点的 IP 地址(以及协议(protocol)和协议(protocol)特定数据,例如端口号)定义。因此,当 IP 地址更改时,您无法维持连接。您必须清理并处理断开的连接,然后打开一个新连接。
如果您使用的高级协议(protocol)(例如 FTP 或 HTTP)允许,您可以尝试在中断点恢复数据传输。例如,如果下载文件,您可以从上次收到的数据的文件位置继续下载。
关于iphone - 从网络切换时如何接收来自 NSURLConnection Delegate 的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060885/