iOS - NSURLConnection通过LAN连接到5个以上的不同IP

时间:2013-09-08 01:28:29

标签: ios nsurlconnection

我的应用尝试在启动时确定位于同一LAN上的网络服务器的IP。

它计算出要扫描的IP范围,并使用NSURLConnection个对象以1秒超时来确定IP是否可达,如果是,则尝试在其上调用服务,如果服务呼叫成功然后我们知道我们找到了正确的IP。

问题是,即使所有连接都有不同的IP连接,应用也无法一次打开超过5个连接。我会得到大约十几个连接,但其他人只会在不离开设备的情况下报告The request timed out.

我已经读过这个限制适用于NSURLConnection到单个IP地址的连接,但正如我所说,每个连接都有自己不同的IP。

我还尝试使用SCNetworkReachability来确定IP是否可以访问,但它告诉我的是,理论上可以访问LAN上的IP地址,而无需建立实际连接。

是否有可靠的方法一次连接到更多IP?

1 个答案:

答案 0 :(得分:0)

每个操作系统都维护每个进程的最大套接字数。我找不到iOS的权威来源,但苹果保持这个数字非常低是有道理的,而其他人尝试这个数字似乎是一个常见的答案。

您可能需要NSOperationQueue来管理连接(请参阅Asynchronous HTTP Client Using NSOperationQueue)或使用AFNetworking来完成所有实际工作。