// 通过域名获取IP地址
+ (NSString *)IPAdressFromDomain:(NSString *)host
{
structhostent *hostent = gethostbyname([hostUTF8String]);
if (!hostent) {
herror("resolv");
returnNULL;
}
structin_addr **list = (structin_addr **)hostent->h_addr_list;
NSString *addressString = [NSStringstringWithCString:inet_ntoa(*list[0])encoding:NSUTF8StringEncoding];
return addressString;
}
// 获取本机IP地址
+ (NSString *)getIPAddress:(BOOL)preferIPv4
{
/*
* 此处可以选择是优先返回wifi的还是cell的,或者ipv4的还是ipv6的
*/
NSArray *searchArray = preferIPv4 ?
@[IOS_WIFI @"/"IP_ADDR_IPv4, IOS_WIFI@"/" IP_ADDR_IPv6,IOS_CELLULAR @"/"IP_ADDR_IPv4, IOS_CELLULAR@"/" IP_ADDR_IPv6] :
@[IOS_WIFI @"/"IP_ADDR_IPv6, IOS_WIFI@"/" IP_ADDR_IPv4,IOS_CELLULAR @"/"IP_ADDR_IPv6