在我的子类的startLoading
方法中URLProtocol
,我创建了一个URLSession
and 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 调用吗?还是只是写作或只是阅读?或者是否有一些我忘记在写入和读取之间调用的模式切换功能?会不会有别的问题?