Web サーバー (場合によっては http、場合によっては https) がリッスンしているかどうかを確認する必要があります。私はそれを同期的に行い、2〜3秒などの小さなタイムアウトを設定したいと考えています。
それを行う適切な方法は何ですか?iOS 5 との下位互換性が必要です。
更新: 外部ライブラリなしで行う必要があります。
Web サーバー (場合によっては http、場合によっては https) がリッスンしているかどうかを確認する必要があります。私はそれを同期的に行い、2〜3秒などの小さなタイムアウトを設定したいと考えています。
それを行う適切な方法は何ですか?iOS 5 との下位互換性が必要です。
更新: 外部ライブラリなしで行う必要があります。
OP は外部ライブラリを使用できないため、以下を実装しNSURLConnectionDelegate
て使用します。
- (void)testUrl:(NSString *)url
{
// Create the request.
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:3.0];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
int responseStatusCode = [httpResponse statusCode];
NSLog(@"GOT STATUS CODE: %d", responseStatusCode);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"Done!");
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"Connection failed! Error - %@ %@",
[error localizedDescription],
[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
}