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);
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。