【发布时间】:2018-02-06 10:10:40
【问题描述】:
在我的URLProtocol 子类的startLoading 方法中,我创建了URLSession 和URLSessionStreamTask。我resume 任务并添加BlockOperation 来调用我的第一个事务方法。该方法使用URLSessionStreamTask.write。如果我没有收到错误,另一个BlockOperation 将与我的第二个事务方法一起放置。该方法使用URLSessionStreamTask.read,它总是超时。
错误看起来像:
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x10945dff0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=gopher://www.floodgap.com:80/GET%20/, NSErrorFailingURLKey=gopher://www.floodgap.com:80/GET%20/, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}
流任务只能用于一次 I/O 调用吗?还是只是写作或只是阅读?或者是否有一些我忘记在写入和读取之间调用的模式切换功能?会不会有别的问题?
【问题讨论】:
标签: cocoa nsurlsession nsurlsessiontask