2

我们的 OSX 应用程序正在使用将多个文件上传到服务器

func uploadTask(withStreamedRequest request: URLRequest) -> URLSessionUploadTask

上传时,上传卡住了。一些文件设法成功上传,有时文件更多,有时文件更少。

查看调试导航器,我可以看到我的流线程显示了两个要stream:handleEvent委托的调用(一个接一个;第 11 帧和第 5 帧),这将我指向我调用 write:maxLength on 的代码行,NSOutputStrem在第__psynch_mutexwait0 帧之后。此时应用程序被卡住,没有网络调用可以完成执行。

在此处输入图像描述
有人遇到过这个问题吗?任何帮助表示赞赏,谢谢。

4

1 回答 1

1

看起来您的处理程序已收到两次信号以写入同一流。添加一个检查streamStatus是NSStreamStatusWriting并提前返回。

于 2018-10-15T13:51:32.493 回答