在 Objective C/C/C++ 中是否可以获取 3G/Cell 数据连接的当前 DNS 服务器 IP 地址?
环顾四周,找不到明确的答案。
最佳答案
#include <arpa/inet.h>
#include <ifaddrs.h>
#include <resolv.h>
#include <dns.h>
//
- (NSString *) getDNSServers
{
NSMutableString *addresses = [[NSMutableString alloc]initWithString:@"DNS Addresses \n"];
res_state res = malloc(sizeof(struct __res_state));
int result = res_ninit(res);
if ( result == 0 )
{
for ( int i = 0; i < res->nscount; i++ )
{
NSString *s = [NSString stringWithUTF8String : inet_ntoa(res->nsaddr_list[i].sin_addr)];
[addresses appendFormat:@"%@\n",s];
NSLog(@"%@",s);
}
}
else
[addresses appendString:@" res_init result != 0"];
return addresses;
}
关于iPhone获取3G DNS主机名和IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10999612/