ios获取本机IP地址的代码
2015-07-08 本文已影响1240人
司马捷
import <arpa/inet.h>
import <ifaddrs.h>
- (void )setHostAddress {
// 端末のIPアドレスを設定
struct ifaddrs* ifa_list = NULL;
struct ifaddrs* tmp;
int ret = getifaddrs(&ifa_list);
if (ret >= 0) {
tmp = ifa_list;
while (tmp) {
念のため3Gインターフェイスを除外してWi-Fiアドレスを取得
if (tmp->ifa_addr->sa_family == AF_INET && strncmp(tmp->ifa_name, "en", 2) == 0) {
_hostName = ((struct sockaddr_in *)tmp->ifa_addr)->sin_addr.s_addr;
LOG(@"[DSCV] host address: %s", inet_ntoa(((struct sockaddr_in *)tmp->ifa_addr)->sin_addr));
_hostName = inet_ntoa(((struct sockaddr_in *)tmp->ifa_addr)->sin_addr);
break;
} tmp = tmp->ifa_next;
}
}
freeifaddrs(ifa_list);
}