如何使用相同的连接发送不同的请求?

时间:2013-01-18 04:51:49

标签: ios http nsurlconnection

我的应用程序的行为如下:

  

客户端:向服务器发送请求(使用NSURLConnection),要求服务器生成文件,   下载该文件。

     

服务器:生成文件并发送文件数据   回到客户端(使用分块编码)

     

生成文件后,服​​务器将更新文件的标题,因此下载后   文件,客户端需要发出第二个请求以获取更新的标头。中   文件生成和更新,如果服务器检测到来自客户端的连接   关闭后,它会删除生成的文件,因此连接需要   保持活力。

     

客户:发送了第二个请求(另一个NSURLConnection)以获取更新的标头

问题是在第一次请求(我使用NSURLConnection)服务器检测到连接关闭并删除生成的文件后,第二个请求失败。

我怀疑原因是我使用了两个不同的NSURLConnection实例,所以我查看文档中的NSMutableURLConnection之类的内容。它不存在!。

我的问题:是否有办法在请求之间保持连接(通过重用NSURLConnection,或使用NSMutableRequest并使用相同的NSURLConnection重新请求)?

1 个答案:

答案 0 :(得分:-1)

您可以使用:

NSURLConnection *currentConnection = [NSURLConnection alloc]; 
[currentConnection initWithRequest:request1 delegate:self];

[currentConnection initWithRequest:request2 delegate:self];

您可以使用以下方法验证原始和当前NSURLRequest:

- (NSURLRequest *)originalRequest NS_AVAILABLE_IOS(5_0);
- (NSURLRequest *)currentRequest  NS_AVAILABLE_IOS(5_0);