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中不得包含头文件;找了好久,终于找到这段代码,分享一下
[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中不得包含头文件;找了好久,终于找到这段代码,分享一下
相关文章推荐
- IOS开发——获取局域网IP
- IOS开发——获取局域网IP
- IOS开发——获取局域网IP
- [IOS 开发] 获取局域网IP
- ios 开发之获取手机的外网IP和内网IP
- Unity3D学习日记(十) iOS获取局域网的IP
- iOS开发——获取本设备IP
- Android 局域网内功能模块开发,教你怎么快速获取局域网内所有IP并且进行通信------ MulticastSocket
- iOS开发 - 获取网关IP,运营商,位置,可判断是在国内还是国外
- iOS开发 获取公网IP和局域网IP地址
- ios获取局域网ip
- iOS开发-获取设备IP
- c#(WinForm)遍历局域网计算机(电脑)获取IP和计算机名称(转)
- 获取局域网外网Ip的方法
- C# 获取局域网IP和MAC地址
- android开发之socket通信 向PC机发信息 获取本机IP
- 用C#获取局域网内所有IP方法研究
- java获取局域网IP