我在应用程序中使用服务器-客户端体系结构。
我使用的是NSURLConnection类,现在假设我在for循环中发送多个请求,并使用带有委托方法的异步连接。所以我的问题是在我收到服务器的响应后,我需要手动关闭连接并使该对象为空。
我之所以这么问,是因为服务器上对要进行的最大连接有限制,如果连接限制超过,我必须重新启动服务器,并且我无法更改最大连接限制。
否。不需要它,因为当发生错误或数据已加载时,NSURLConnection
将自行关闭连接。
如果你想监控实际发生的事情,我建议你看看技术问答;一个QA1176。它描述了如何设置一个环境来监控iPhone发送的每个数据包。然后您可以自己验证NSURLConnection
的行为。
释放连接的正确方法是将其设置为nil
以及用于从连接接收数据的属性:
theConnection = nil;
receivedData = nil;
这来自"使用NSURLConnection"一节中的"URL会话编程指南"。
通过将属性(在其他地方声明)设置为nil来释放连接和数据对象。请注意,现实世界中的应用程序通常要求委托一次管理多个连接,因此这些行通常会被代码所取代,以迭代您正在使用的任何数据结构。
请使用此。。可以帮助
[self.connection cancel];
self.connection = nil;