【问题标题】:NSURLConnection Never finishNSURLConnection 永远不会完成
【发布时间】:2009-08-26 21:36:29
【问题描述】:

我有下一个代码:

NSURL *url = [NSURL URLWithString:@"http:...."];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [""soapMessage"" length]];

[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [""soapMessage"" dataUsingEncoding:NSUTF8StringEncoding]];
[theRequest setTimeoutInterval:20];

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
[theConnection start];

然后,有时,当我在我的界面中分配用于启动新连接的按钮中多次单击 (只是尝试在哪里使应用程序失败),连接不会给出回复(我发送了请求,但看起来被阻止了)。

我想知道“setTimeoutInterval”的用途是什么?以及是否有一些方法可以限制等待一个响应的时间?

谢谢!

【问题讨论】:

    标签: objective-c iphone-sdk-3.0 error-handling connection


    【解决方案1】:

    你怎么知道请求是首先开始的?您可能正在等待一个从未开始的请求的响应。

    您似乎没有测试将theConnection 设置为nil。如果内存不足,theRequesturl 也可能是 nil

    【讨论】:

    • 谢谢,但我记录了每个部分,并发送了它。反正有什么方法可以限制时间吗?
    • 记录不在您粘贴的代码中,因此无法判断您正在从代码中记录这些内容。
    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多