我正在开发一个需要从webserver下载一些数据的应用程序。所以我需要先检查网络服务器,检查互联网连接后服务是否可用。我使用以下代码检查服务器可用性< / p>
BOOL success = NO;
const char *host_name = [@"http://192.168.1.7:8080/TestWeb/webresources/"
cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL,
host_name);
SCNetworkReachabilityFlags flags;
success = SCNetworkReachabilityGetFlags(reachability, &flags);
BOOL isAvailable = success && (flags & kSCNetworkFlagsReachable) && !(flags & kSCNetworkFlagsConnectionRequired);
return isAvailable;
我的服务器是在本地上传的。但是这段代码总是会返回无效的结果,但是如果我给了google.com这样的exixting网站,它会正常工作。请让我知道我做错了什么..
答案 0 :(得分:0)
我会使用NSURLConnection来ping服务器。如果无法建立连接,您将在委托方法connectionDidFailWithError中获得响应。
查看Apple文档,他们有一个很好的代码示例: link text