gpt4 book ai didi

ios - 连接返回时重新发送 ASIHTTPRequest

转载 作者:行者123 更新时间:2023-11-29 04:36:48 24 4
gpt4 key购买 nike

我正在使用 ASIHTTPRequest 与我的网站交互。我基本上是将 ASIHttpRequest 添加到队列中。如果有互联网连接,一切都可以正常工作。但是,我猜如果请求失败(即没有互联网连接),该操作就会被删除

有没有办法仅在有互联网连接时排队并执行请求?如果没有互联网连接,请求应排队并在连接恢复时自动发送。如果这是不可能的,那么完成我在这里尝试的事情的最佳方法是什么?

谢谢!

这就是我现在设置队列的方式:

NSURL *url = [NSURL URLWithString:@"http://www.tst.com.au/test.php?op=updateField"];

ASIFormDataRequest *startHourRequest = [ASIFormDataRequest requestWithURL:url];

NSDateFormatter *apiformatter = [[ [NSDateFormatter alloc] init] autorelease];
[apiformatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *webdate = [apiformatter stringFromDate:date];
[startHourRequest setDelegate:appDelegate];
[startHourRequest setPostValue:webdate forKey:@"fieldvalue"];
[startHourRequest setPostValue:[appDelegate shiftuid] forKey:@"uid"];
[startHourRequest setPostValue:editAttribute forKey:@"fieldname"];
[startHourRequest setDidFinishSelector:@selector(requestDone:)];
[startHourRequest setDidFailSelector:@selector(requestWentWrong:)];
[[appDelegate queue] addOperation:startHourRequest];

最佳答案

是的,您可以使用 Reachability 类轻松做到这一点:

首先,您将在发送初始请求之前检查互联网可达性:

Reachability *reachability = [Reachability reachabilityForInternetConnection];    
NetworkStatus internetStatus = [reachability currentReachabilityStatus];
if (internetStatus != NotReachable) {
//Do your request
}
else {
//save your url to an array for use when the internet returns
}

在 View Controller 内或您发送请求的任何地方,执行此操作以监听互联网更改

- (void)viewDidLoad

[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(networkStatusChanged:)
name:kReachabilityChangedNotification
object:nil];

internetReachable = [Reachability reachabilityForInternetConnection];
[internetReachable startNotifier];
}

- (void)networkStatusChanged:(NSNotification *)notice {
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
if (internetStatus != NotReachable && [yourUrlsToSend count] > 0) {
//send off your requests now that you have internet

}
}

这一切都取决于包含来自苹果的 reqchability 文件,可以在此处找到:enter link description here .希望有帮助

关于ios - 连接返回时重新发送 ASIHTTPRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10969694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com