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;
}

时间: 2024-10-10 09:07:50

iOS 获取手机当前所连接的网络的IP地址的相关文章

IOS 获取手机ip地址

#include <ifaddrs.h> #include <arpa/inet.h> - (NSString *)getIPAddress {          NSString *address = @"error";     struct ifaddrs *interfaces = NULL;     struct ifaddrs *temp_addr = NULL;     int success = 0;          // retrieve th

网络之Ip地址

0.0.0.0---255.255.255.255 Ip地址分类(D.E)不对外开放 网络类别 最大网络数 IP地址范围(,唯一的,花钱的) 最大主机数 私有IP地址范围 (做内网ip,不可直接访问公网:比如学校网,不花钱的) A 126(2^7-2) 1.0.0.0—126.255.255.255 2^24-2 10.0.0.0—10.255.255.255 B 16384(2^14) 128.0.0.0—191.255.255.255 2^16-2 172.16.0.0—172.31.255

mysql数据库可以远程连接或者说用IP地址可以访问

mysql数据库可以远程连接或者说用IP地址可以访问 一般情况不建议直接修改root的权限, 先看下,自己mysql数据库的用户级权限 mysql -u root -p----->用root登陆   use mysql------->切换到mysql数据库(这个mysql是数据库的名字,---->安装的时候系统自带的吧) 可以看到我的是这样的,至于为什么有2个root我还不太清楚,我记得mysql安装的时候有个选项是---(是否可以远程访问)可能第一个root是这个作用吧,而我们常用的是

C#获得当前页面客户端的IP 用于监测获取某个页面上用户的客户端真实IP地址

C#获得当前页面客户端的IP 用于监测获取某个页面上用户的客户端真实IP地址  1 /// <summary> 2 /// 获得当前页面客户端的IP 3 /// </summary> 4 /// <returns>当前页面客户端的IP</returns> 5 public static string GetIP() 6 { 7 8 9 string result = String.Empty; 10 11 result = HttpContext.Curre

iOS获取手机相关信息

iOS具体的设备型号: #include <sys/types.h> #include <sys/sysctl.h> - (void)test { //手机型号. size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = (char*)malloc(size); sysctlbyname("hw.machine", machine, &

ios 获取手机相关的信息

获取手机信息      应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来 //获取版本号 NSDictionary *infoDict = [[NSBundle mainBundle]infoDictionary]; NSString *versionNum = [infoDict objectForKey:@"CFBundleVersion"];//版本号 NSString *appName = [infoDict objectForKey:

java 获取局域网中的所有主机名和IP地址

DOS命令 命令 意义 net view 获取局域网中的所有主机名 ipconfig -all 获取本地IP,主机名,MAC地址 arp -a 获取本局域网中的所有IP地址和物理地址 ping -a x.x.x.x 获取x.x.x.x的主机名 nbtstat -a 主机名 获取MAC地址 java exec 执行外部命令 String command = "net view" Runtime r = Runtime.getRuntime(); Process p = r.exec(co

查询某软件所连接的外网IP地址

一:背景环境: 1>:某机械公司用的某些特殊软件,需要实现所有使用某软件的屏蔽其软件所连接的外网ip,其他上网功能不做限制. 二:需求分析:可以查出此软件所连接的外网ip,在路由器的ip过滤中将其屏蔽,方可实现需求. 三:功能实现: 1> 来自微软官方软件: http://live.sysinternals.com/Tcpview.exe 2> 官网网页:https://docs.microsoft.com/zh-cn/sysinternals/  (参考) 3> 举例: 4>

Linux网络编程--IP地址与域名解析(DNS)

在日常生活中,人们往往知道主机的域名而不知道主机的IP地址,而socket的API均基于IP地址,所以需要使用DNS域名解析服务器进行解析. 那么首先简单介绍一下DNS的原理,DNS服务器系统是按树形的结构构造,顶级域名服务器下分多个二级域名服务器,二级域名服务器下面又分多个下级域名服务器,每个服务器都下辖了一些主机,如图所示: 那么一个主机是如何查询一个域名的IP地址呢?首先需要想本地的域名服务器查询,如果没有就向上级域名服务查询,如果二级的也查不到就会向顶级域名服务器查询,如果顶级的也查不到