【发布时间】:2014-02-16 21:11:26
【问题描述】:
我有这段代码,我一直在尝试移植。该代码在使用 WinHTTP 实现的 Windows 上可以 100% 正常工作。在 IOS 7 模拟器上,我使用的是 NSURLSession。对于常规的 HTTPS 获取/发布似乎可以正常工作。
当我使用“流式”HTTP 时,事情开始崩溃。在这种情况下,内容长度是未知的,因为数据是连续流入的。
我有一个阻塞同步下面的调用,它将等待当前请求完成。当我使用第一个命令时,同步循环将在委托被命中后退出。但是,如果我用注释的第二行替换同步循环挂起。
[m_pDelegate.session invalidateAndCancel];
// [m_pDelegate.session finishTasksAndInvalidate];
blockUntilOperationsComplete();
最终它会退出,我确实得到了我的数据回调。我相信回调最终会在 MINUTES 之后触发,因为小的保活消息(16 字节长)最终会溢出缓冲区并触发委托调用。有没有办法降低缓冲阈值?
【问题讨论】:
标签: ios nsurlsession