IOSbug

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);
}
上一篇下一篇

猜你喜欢

热点阅读