我有來自Web服務器要求數據的應用程序。我在不同的國家有服務器,以確保本地請求的快速響應。在應用程序開始時,我想決定使用哪個服務器,因此我的計劃是向不同的服務器發送請求並首先檢查哪些響應。iOS的多線程響應
我在每臺服務器上都有一個check.php
,並返回「ok」作爲響應,我可以在不同線程中調用它,但我不知道如何將serverURL
設置爲第一個響應的服務器。誰能幫忙?還是有更好的方法來實現我想要的?
NSURL *url = [NSURL URLWithString:@"http://server_de/check.php"];
NSError *e = nil;
NSString* result = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&e];
if (result == nil || ![result isEqualToString:@"ok"]) {
serverURL=ServerDE;
}
編輯:所有服務器都會響應,但世界另一端的響應會更慢。我需要設置最快的服務器,而不是最慢的服務器。
爲每個服務器一個標誌變量,與您的網址鏈接瓦爾。 – DeyaEldeen
使用GCD將'url'派發到主線程,如果它不是nil則設置'serverURL'。 – KudoCC
@KudoCC,你能否提供更多的細節? – boreas