检查iOS SDK上是否有主机

检查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

我正在制作一个iOS应用程序,在这个应用程序中,我需要检查一个主机,例如google.com,是否可用(或者是否已启动/关闭)。我一直在使用以下代码:

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?如果您收到了成功的回复,那么我相信这是关于一些我根本不擅长的网络方面的东西。

您查看过苹果的可达性示例吗?我知道,使用了可达性,找到了更好的方法,谢谢