本文介绍了如何在代码中获取个人热点或其他信息的IP地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
作为标题,我想了解我的个人热点的详细信息,例如ip地址,连接到我的热点的设备。更重要的是,我个人热点与其他设备通信的信息?
希望获得一些提示!谢谢!
as the title, I want to get the detail of my personal hotspot, such as the ip address, the device which connect to my hotspot. what's more, the information I communicate with other devices by my personal hotspot? Hope for some tips! thanks!
推荐答案
环顾四周。正如所示:
试试这个:
- (NSString *)getIPAddress
{
struct ifaddrs *interfaces = NULL;
struct ifaddrs *temp_addr = NULL;
NSString *wifiAddress = nil;
NSString *cellAddress = nil;
// retrieve the current interfaces - returns 0 on success
if(!getifaddrs(&interfaces)) {
// Loop through linked list of interfaces
temp_addr = interfaces;
while(temp_addr != NULL) {
sa_family_t sa_type = temp_addr->ifa_addr->sa_family;
if(sa_type == AF_INET || sa_type == AF_INET6) {
NSString *name = [NSString stringWithUTF8String:temp_addr->ifa_name];
NSString *addr = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)]; // pdp_ip0
NSLog(@"NAME: \"%@\" addr: %@", name, addr); // see for yourself
if([name isEqualToString:@"en0"]) {
// Interface is the wifi connection on the iPhone
wifiAddress = addr;
} else
if([name isEqualToString:@"pdp_ip0"]) {
// Interface is the cell connection on the iPhone
cellAddress = addr;
}
}
temp_addr = temp_addr->ifa_next;
}
// Free memory
freeifaddrs(interfaces);
}
NSString *addr = wifiAddress ? wifiAddress : cellAddress;
return addr ? addr : @"0.0.0.0";
}
这篇关于如何在代码中获取个人热点或其他信息的IP地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!