检查iOS SDK上是否有主机
我正在制作一个iOS应用程序,在这个应用程序中,我需要检查一个主机,例如google.com,是否可用(或者是否已启动/关闭)。我一直在使用以下代码:检查iOS SDK上是否有主机,ios,cocoa-touch,host,Ios,Cocoa Touch,Host,我正在制作一个iOS应用程序,在这个应用程序中,我需要检查一个主机,例如google.com,是否可用(或者是否已启动/关闭)。我一直在使用以下代码: NSString *host = theTextField.text; bool success = false; const char *host_name = [host cStringUsingEncoding:NSASCIIStringEnc
NSString *host = theTextField.text;
bool success = false;
const char *host_name = [host
cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL,
host_name);
SCNetworkReachabilityFlags flags;
success = SCNetworkReachabilityGetFlags(reachability, &flags);
bool isAvailable = success && (flags & kSCNetworkFlagsReachable) &&
!(flags & kSCNetworkFlagsConnectionRequired);
if (isAvailable) {
status.text = @"The host is up! :)";
} else {
status.text = @"The host is down! :(";
}
}
但我有一种感觉,它不像它应该的那样工作。例如,如果我输入
google.com
,它会说是向上的,好吧,但是如果我输入我的网页的url(在ATM上),它也会说是向上的(地址是zad0xsis.net
)。如果我输入一个假地址,它会说它已关闭,所以它可能工作正常,我可能会想一些奇怪的事情IDK zad0xsis.net适合我
可达性使用与ping命令行相同的原则(DNS解析+实际上是ping)
我想您应该使用查看Web服务器是否已启动。您是否尝试过从终端ping zad0xsis.net?如果您收到了成功的回复,那么我相信这是关于一些我根本不擅长的网络方面的东西。您查看过苹果的可达性示例吗?我知道,使用了可达性,找到了更好的方法,谢谢