我正在使用SimpleFTPSample从 FTP 服务器下载和上传。无论是否完成,我都必须在特定时间后取消下载并开始上传。但是如果我取消下载然后开始上传委托方法stream:handleEvent:
就不会被调用。如果在下载完成后开始上传,则会调用委托方法。
我无法理解原因。我正在为这两个任务创建单独的连接。
由于我们需要调度runloop来处理网络流,而当我们强行取消下载时,runloop没有退出,这是这个原因吗?
我是否需要在单独的线程中启动这两个操作,以便在特定时间后开始上传?
我正在使用SimpleFTPSample从 FTP 服务器下载和上传。无论是否完成,我都必须在特定时间后取消下载并开始上传。但是如果我取消下载然后开始上传委托方法stream:handleEvent:
就不会被调用。如果在下载完成后开始上传,则会调用委托方法。
我无法理解原因。我正在为这两个任务创建单独的连接。
由于我们需要调度runloop来处理网络流,而当我们强行取消下载时,runloop没有退出,这是这个原因吗?
我是否需要在单独的线程中启动这两个操作,以便在特定时间后开始上传?
我可以通过将kCFStreamPropertyFTPAttemptPersistentConnection
属性设置为来解决我的问题kCFBooleanFalse
。默认情况下,此属性为 true,因此如果我们强行关闭它,连接不会中断。实际功劳归于这个给出答案的人。