2010-03-25 90 views
0

我正在開發一個應用程序,它需要從web服務器下載一些數據。所以我需要先ping到web服務器,檢查服務是否可用後,檢查互聯網連接。我使用以下代碼來檢查服務器的可用性從iphone到ping web服務器

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; 

在我的服務器上傳locally.But這個代碼總是返回無效的結果,但它工作正常,如果我給了一些exixting網站如google.com.Please讓我知道什麼我是做錯了..

回答

0

我會使用NSURLConnection來ping服務器。如果無法建立連接,您將在委託方法connectionDidFailWithError中獲得響應。

查看Apple文檔,他們有一個很好的代碼示例: link text