您的位置:首页 > 移动开发 > IOS开发

IOS开发——获取局域网IP

2015-02-12 14:55 309 查看
头文件

[plain] view
plaincopy

#include <arpa/inet.h>

#include <net/if.h>

#include <ifaddrs.h>

源码

[plain] view
plaincopy

- (NSString *)localIPAddress

{

NSString *localIP = nil;

struct ifaddrs *addrs;

if (getifaddrs(&addrs)==0) {

const struct ifaddrs *cursor = addrs;

while (cursor != NULL) {

if (cursor->ifa_addr->sa_family == AF_INET && (cursor->ifa_flags & IFF_LOOPBACK) == 0)

{

//NSString *name = [NSString stringWithUTF8String:cursor->ifa_name];

//if ([name isEqualToString:@"en0"]) // Wi-Fi adapter

{

localIP = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)];

break;

}

}

cursor = cursor->ifa_next;

}

freeifaddrs(addrs);

}

return localIP;

}

之前用过IPAddress.h及.c的,但pch中不得包含头文件;找了好久,终于找到这段代码,分享一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: