2011-06-30 87 views
8

我想獲取我的iPhone以無線方式連接到的路由器(WiFi接入點)的IP地址。該代碼只給出設備的IP地址獲取iPhone連接的路由器的IP地址

任何人都可以幫助一段代碼?

+0

你有沒有檢查[這](http://stackoverflow.com/questions/2113580/objective-c-how-to-fetch-路由器地址?lq = 1)?,可能會給你一些想法。 – swiftBoy

回答

0

接入點的路由器應該始終是默認路由,所以問題就變成了,你如何找到默認路由IP地址?

這篇文章現在有點老了,但提供了一些示例代碼。我恐怕沒有嘗試過,但可能值得您嘗試一下。

How can I determine the default gateway on iPhone?

1

只要複製粘貼此代碼並運行你會得到通過IP地址連接的所有IP地址。必需的框架是

#import <sys/types.h> 
    #import <arpa/inet.h> 
    #import <netdb.h> 

在viewDidLoad中複製粘貼此

int i=0; 
while (i>254) { 
       i++; 
       NSString *address = [NSString stringWithFormat:@"192.168.1.%d",i]; 
      struct hostent *he; 
      struct in_addr ipv4addr; 

      inet_pton(AF_INET, [address UTF8String], &ipv4addr); 
      he = gethostbyaddr(&ipv4addr, sizeof ipv4addr, AF_INET); 
      if (he) { 
       printf("Host name: %s\n", he->h_name); 
       NSLog(@"%@",address); 
       // NSLog(@"%@",address); 
      } 
     }