[IOS 开发] 获取局域网IP

来源:互联网 发布:网络分层结构 编辑:程序博客网 时间:2024/06/05 14:20
头文件#include <arpa/inet.h>#include <net/if.h>#include <ifaddrs.h>源码- (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;}

0 0