现在的位置: 首页 > 综合 > 正文

ip地址获取

2017年12月09日 ⁄ 综合 ⁄ 共 814字 ⁄ 字号 评论关闭

+(NSString *)getIPAddress {

    

   
if
(mLocalIP !=
nil
) {

       
return
mLocalIP;

    }

    

   
struct
ifaddrs *interfaces =
NULL
;

   
struct
ifaddrs *temp_addr =
NULL
;

   
int
success = 0;

    // retrieve the current interfaces - returns 0 on success

    success =
getifaddrs
(&interfaces);

   
if
(success == 0) {

        // Loop through linked list of interfaces

        temp_addr = interfaces;

       
while
(temp_addr != NULL) {

           
if
(temp_addr->ifa_addr->sa_family ==
AF_INET) {

                // Check if interface is en0 which is the wifi connection on the iPhone

               
if
([[NSString
stringWithUTF8String
:temp_addr->ifa_name]
isEqualToString:@"en0"]) {

                    // Get NSString from C String

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

                }

            }

            temp_addr = temp_addr->ifa_next;

        }

    }

    // Free memory

   
freeifaddrs
(interfaces);

    return
mLocalIP;

    

}

【上篇】
【下篇】

抱歉!评论已关闭.