我目前有一个ap,它试图根据我正在与之通信的某些服务器打开一个webview。检查与NSURLConnection连接的有效IP地址
但是,如果iphone/ipad和服务器(或其他设备)不在同一个网络中,我允许用户输入自己的服务器IP。但是,我试图使用NSURLConnection来检测是否可以打开与给定IP的连接,但即使服务器地址(甚至是随机Web地址)完全是假的,NSURLConnection也不会返回错误。
的.H
@interface DetailViewController : UIViewController <UIPopoverControllerDelegate, UISplitViewControllerDelegate, UITableViewDataSource, UITableViewDelegate,UIWebViewDelegate, NSURLConnectionDataDelegate> {
在.M
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:
(NSIndexPath *)indexPath
{
dev_ip = @"http://www.asdfasfdfa.com/";
//dev_ip = (random ip)
NSMutableURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:dev_ip]];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (conn) {
NSLog(@"Connection established");
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:[NSString stringWithFormat:@"No Device at designated IP"]
delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
}
此的if/else总是输出相关的代码 '已建立连接。'这是NSURLConnection不应该使用的东西吗?如果是这样,我可以使用什么来检测给定IP处的设备以进行连接。我需要阻止用户尝试连接到不好的IP,所以最好的方法是什么?
您只创建了一个对象来表示连接。您不应该考虑建立连接本身。 –
我觉得这样的事情正在发生,但我所知道的NSURLConnection的所有代表都适用于接收数据。大多数情况下永远不会发生。那么如何检查建立的连接? – JMD