• iOS 获取手机当前所连接的网络的IP地址


    1首先要在当前所在的类导入这几个头文件:

    #include <arpa/inet.h>
    #include <netdb.h>
    #include <net/if.h>
    #include <ifaddrs.h>
    #import <dlfcn.h>

    2具体代码的实现:

    //获取手机的网络的ip地址
    - (NSString *)getIPAddress
    {
    BOOL success;
    struct ifaddrs * addrs;
    const struct ifaddrs * cursor;
    success = getifaddrs(&addrs) == 0;
    if (success) {
    cursor = addrs;
    while (cursor != NULL) {
    // the second test keeps from picking up the loopback address
    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
    NSLog(@"IP:%@",[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]);
    return [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)];
    }
    cursor = cursor->ifa_next;
    }
    freeifaddrs(addrs);
    }
    return nil;
    }

  • 相关阅读:
    Java设计模式——单例模式
    Java设计模式——工厂模式
    多线程
    Collection集合
    内部类
    多态
    接口
    面向对象(2)
    数组
    面向对象(1)
  • 原文地址:https://www.cnblogs.com/gaohe/p/4465562.html
Copyright © 2020-2023  润新知