Zac*_*ugh 8 macos cocoa objective-c nsurlconnection
我正在运行OS X应用程序中的一个问题,该应用程序使用NSURLConnection创建到同一主机的多个持久连接.我为不同的房间创建了一个单独的连接,并且在房间打开的整个过程中它保持连接以使用流API.打开许多房间时,它会停止正常工作.
我创建了一个单独的示例应用程序,它创建了10个连接,它似乎只允许6个连接工作,其他连接排队.有谁知道是否有办法超越这个限制?我无法在任何地方找到它.我发现的唯一解决方法是它似乎是每个主机名,因此使用"localhost"和"127.0.0.1"进行测试可以为每个主机提供6个连接.我在这里上传了一个带有客户端和服务器的示例项目 - http://cl.ly/1x3K0D1F072V3U2T0C0I.
我提交了一个雷达,看起来像是在iOS上的相同问题.我发现你不能同时打开超过5个连接.连接不必指向同一个域.之后的任何事情都会排队.因此,如果您有5个连接打开到极慢的端点,则任何其他连接都不会通过.
雷达:http://openradar.appspot.com/radar?id = 2542401
Apple的回复:
这是我们的NSURLConnection连接缓存的影响.这是预料之中的.我们希望使用新API解决此类配置问题.
我问他们是否可以再给我信息(它是否有所不同?连接类型会影响它吗?)他们说:
不幸的是,我们无法提供有关连接限制行为的详细信息.
一般用户代理(Chrome,Firefox,Safari)每个主机名使用六个同时的TCP连接,可能是一次性的.