【问题标题】:unable to forcefully cancel ftp download无法强制取消 ftp 下载
【发布时间】:2015-01-31 19:31:10
【问题描述】:

我正在使用SimpleFTPSample 从 FTP 服务器下载和上传。无论是否完成,我都必须在特定时间后取消下载并开始上传。但是如果我取消下载然后开始上传委托方法stream:handleEvent: 不会被调用。 如果在下载完成后开始上传,则会调用委托方法。

我无法理解原因。我正在为这两个任务创建单独的连接。

既然我们需要调度runloop来处理网络流,而当我们强行取消下载时,runloop没有退出,是这个原因吗?

是否需要在单独的线程中启动这两个操作,以便在特定时间后开始上传?

【问题讨论】:

  • 有什么方法可以停止当前的 NSRunLoop?
  • 我正在强制停止下载,但我的 runloop 没有退出它,因此在某个时间后调用了委托方法。我希望在下载完成后立即开始上传。这是要求。

标签: ios ftp nsrunloop nsinputstream nsoutputstream


【解决方案1】:

我可以通过将kCFStreamPropertyFTPAttemptPersistentConnection 属性设置为kCFBooleanFalse 来解决我的问题。 默认情况下,此属性为 true,因此如果我们强行关闭它,连接不会中断。实际归功于给出答案的this 人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-17
    • 2020-04-28
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多