获取iOS设备当前ip地址

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 01:20 点击:

 

第一种方法是用系统api的方式获取,如下

#include <stdio.h> 

#include <stdlib.h> 

#include <string.h> 

#include <unistd.h> 

#include <sys/ioctl.h> 

#include <sys/types.h> 

#include <sys/socket.h> 

#include <netinet/in.h> 

#include <netdb.h> 

#include <arpa/inet.h> 

#include <sys/sockio.h> 

#include <net/if.h> 

#include <errno.h> 

#include <net/if_dl.h> 

 

//#include "GetAddresses.h" 

 

#define min(a,b)    ((a) < (b) ? (a) : (b)) 

#define max(a,b)    ((a) > (b) ? (a) : (b)) 

 

#define BUFFERSIZE  4000 

 

char *if_names[MAXADDRS]; 

char *ip_names[MAXADDRS]; 

char *hw_addrs[MAXADDRS]; 

unsigned long ip_addrs[MAXADDRS]; 

 

static int   nextAddr = 0; 

 

void InitAddresses() 

    int i; 

    for (i=0; i<MAXADDRS; ++i) 

    { 

        if_names[i] = ip_names[i] = hw_addrs[i] = NULL; 

        ip_addrs[i] = 0; 

    } 

 

void FreeAddresses() 

    int i; 

    for (i=0; i<MAXADDRS; ++i) 

    { 

        if (if_names[i] != 0) free(if_names[i]); 

        if (ip_names[i] != 0) free(ip_names[i]); 

        if (hw_addrs[i] != 0) free(hw_addrs[i]); 

        ip_addrs[i] = 0; 

    } 

    InitAddresses(); 

 

void GetIPAddresses() 

    int                 i, len, flags; 

    char                buffer[BUFFERSIZE], *ptr, lastname[IFNAMSIZ], *cptr; 

    struct ifconf       ifc; 

    struct ifreq        *ifr, ifrcopy; 

    struct sockaddr_in  *sin; 

     

    char temp[80]; 

     

    int sockfd; 

     

    for (i=0; i<MAXADDRS; ++i) 

    { 

        if_names[i] = ip_names[i] = NULL; 

        ip_addrs[i] = 0; 

    } 

     

    sockfd = socket(AF_INET, SOCK_DGRAM, 0); 

    if (sockfd < 0) 

    { 

        perror("socket failed"); 

        return; 

    } 

     

    ifc.ifc_len = BUFFERSIZE; 

    ifc.ifc_buf = buffer; 

  &nb

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Lexical or Preprocessor Issue 'xxx.h
      • ios学习笔记(二)xcode 4.3.2下实现基本交互
      • ios版本的helloworld
      • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
      • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
      • IOS类似iphone通讯录TableView的完整demo【附源码】
      • UITableView一些方法
      • [iPhone中级]iPhone团购信息客户端的开发 (二)
      • iphone(object-c)内存管理(1)
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1