gpt4 book ai didi

ios - 限制 iOS 5 中的同时 NSURLConnection 请求数?

转载 作者:可可西里 更新时间:2023-11-01 04:42:22 24 4
gpt4 key购买 nike

仅在 iOS 5 中,当我异步发送大量请求时,我正在处理的应用程序似乎会丢弃请求。大意味着仍然相当小 - 现在用 30 进行测试

每个请求都使用它自己的 NSURLConnection 并且预计会相对快速地返回(即 300 毫秒 - 2 秒)。我们还会长时间保持一个连接打开。

似乎每 5 个连接都无法离开设备。它肯定永远不会到达服务器,使用 Charles 进行网络调试甚至不会显示请求发出。

我想知道是否有人知道同时打开 NSURLConnection 对象和事件请求的数量限制?

值得注意的是,我们在 iOS 4 中没有看到这个问题。似乎如果我们终止我们长期存在的连接,那么我们就不会再丢弃每 5 个请求。

最佳答案

NSOperationQueue 是解决这个问题的最佳方式。简而言之,您将 NSURLConnection 包装在 NSBlockOperation 中,然后将其添加到队列中。队列允许您设置各种属性,例如同时连接的最大数量,还为您提供了一种取消排队操作的简单方法。

在名为“在 iOS 上构建并发用户界面”的 WWDC 视频(2012 年)中对此设计模式进行了很好的介绍。

在 iOS 5 中,您可以使用以下调用来启动 NSURLConnection 并将其添加到 NSOperationQueue

+ (void)sendAsynchronousRequest:(NSURLRequest *)请求队列:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler

关于ios - 限制 iOS 5 中的同时 NSURLConnection 请求数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com