2011-06-30 64 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); 
      } 
     }