2012-02-22 23 views
2

私はIPアドレスに接続できるかどうかを試しています。ReachabilityWithAddressエラーがIPアドレスを与える

私のコードの気圧:

#import "ViewController.h" 
#import "SystemConfiguration/SystemConfiguration.h" 

@implementation ViewController 
struct sockaddr_in ; 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 

Reachability *d = [Reachability reachabilityWithAddress:const struct sockaddr_in  ???????]; 
NetworkStatus internetStatus = [d currentReachabilityStatus]; 
//NetworkStatus internetStatus = [d currentReachabilityStatus]; 
if ((internetStatus != ReachableViaWiFi) && (internetStatus!= ReachableViaWWAN)){ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No internet" message:@"No internet" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 
} 
else { 
    UIAlertView *notify = [[UIAlertView alloc] initWithTitle:@"Internet" message:@"There is internet!(not)" delegate:self cancelButtonTitle:@"funny" otherButtonTitles:nil]; 
    [notify show]; 
    [notify release]; 

    } 
} 

誰かがこの作品を作る方法をplzは私に言うことはできますか?

私は、私はアップルが提供する到達可能性のサンプルでは、​​このサンプルをテストする方法がIPアドレスを挿入するには...

+0

あなたは、Appleが提供例を読んでみませんなぜ? –

+0

私はそれを読んだことがあります。 +(到達可能性*)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress; 私はホストアドレスを記入する必要がありますが、私の質問は今どのように、あなたは何をお勧めしますか? – Melkon

+1

私が言ったように - Appleが提供する例を確認してください。それは理由があります - それはあなたにこれを行う方法の完全な例を示しています。 [リンク](https://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html) –

答えて

3

見当がつかないあなたがアイデアを得る願っています。

//Change the host name here to change the server your monitoring 
remoteHostLabel.text = [NSString stringWithFormat: @"Remote Host: %@", @"www.apple.com"]; 
//commented this line in the applicationDidFinishLaunching of ReachabilityAppDelegate.m file 
//hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain]; 
struct sockaddr_in tAddr; 
tAddr.sin_len = 16; 
tAddr.sin_port = htons(80); 
struct in_addr address; 
address.s_addr = htons(0x4a7de048); 
tAddr.sin_family = AF_INET; 
//http://74.125.224.72/ this ip adress is for google 
//4a7de048 **updated** Hexadecimal representation of IP address 74.125.224.72 

hostReach = [[Reachability reachabilityWithAddress:&tAddr] retain]; 
+0

ありがとう!これは機能します。さて、私はどのように私が構造体を書かなければならなかったの説明を入れていたかを見ます。 – Melkon

0

このコードは、私の作品:

struct sockaddr_in localWifiAddress; 
    bzero(&localWifiAddress, sizeof(localWifiAddress)); 
    localWifiAddress.sin_len = sizeof(localWifiAddress); 
    localWifiAddress.sin_family = AF_INET; 
    localWifiAddress.sin_addr.s_addr = htonl(0x0A0A0A7B); // hex representation of your local IP 

    Reachability *reachability = [Reachability reachabilityWithAddress:&localWifiAddress];  
    reachability.key = kLocalWiFiConnection; 
    return [reachability isReachable];