我在我的应用程序中使用服务器客户端架构。
我正在使用NSURLConnection类,现在假设我在for循环中发送多个请求并使用与委托方法的异步连接。所以我的问题是 在我从服务器得到响应后,我需要手动关闭连接并使该对象为空。
我问,因为在服务器上有最大连接限制,如果连接限制超过我必须重新启动服务器,我不能更改最大连接限制。
答案 0 :(得分:2)
没有。不需要它,因为NSURLConnection
会在发生错误或数据加载时自行关闭连接。
如果您希望监控实际发生的情况,我建议您查看Technical Q&A QA1176。它描述了如何设置环境来监控iPhone发送的每个数据包。然后,您可以自己验证NSURLConnection
的行为。
答案 1 :(得分:1)
释放连接的正确方法是将其设置为nil
以及用于从连接接收数据的属性:
theConnection = nil;
receivedData = nil;
这来自URL Session Programming Guide in the section Using NSURLConnection。
通过将属性(在别处声明)设置为nil来释放连接和数据对象。请注意,真实应用程序通常要求委托一次管理多个连接,因此这些行通常会被代码替换,以迭代您正在使用的任何数据结构。
答案 2 :(得分:0)
请用这个......可以帮忙
[self.connection cancel];
self.connection = nil;