C++ 获取本机全部IP地址(有不止一个IP的情况)
2011-05-29 11:38
661 查看
typedef struct tagIPInfo { char ip[30]; }IPInfo; bool GetLocalIPs(IPInfo* ips,int maxCnt,int* cnt) { //1.初始化wsa WSADATA wsaData; int ret=WSAStartup(MAKEWORD(2,2),&wsaData); if (ret!=0) { return false; } //2.获取主机名 char hostname[256]; ret=gethostname(hostname,sizeof(hostname)); if (ret==SOCKET_ERROR) { return false; } //3.获取主机ip HOSTENT* host=gethostbyname(hostname); if (host==NULL) { return false; } //4.逐个转化为char*并拷贝返回 *cnt=host->h_length<maxCnt?host->h_length:maxCnt; for (int i=0;i<*cnt;i++) { in_addr* addr=(in_addr*)*host->h_addr_list; strcpy(ips[i].ip,inet_ntoa(addr[i])); } return true; }
单个IP的情况:http://blog.csdn.net/iamoyjj/archive/2011/05/29/6452698.aspx
相关文章推荐
- C++ 获取本机全部IP地址(有不止一个IP的情况)
- 一个c++获取ip的简单例子
- 阿里云X-Forwarded-For 发现tomcat记录的日志全部来自于SLB转发的IP地址,不能获取到请求的真实IP。
- 一个有用的类,集合了建立、连接热点;获取本机ip和连接此热点的手机的ip地址等方法
- 阿里云X-Forwarded-For 发现tomcat记录的日志全部来自于SLB转发的IP地址,不能获取到请求的真实IP。 - Draco - 博客频道 - CSDN.NET
- [置顶] 使用php和阶乘原理 通过阶乘获取一个一维数组中全部的组合情况
- HA切换问题: 选主+(切换虚拟ip,启动其他服务 或者 开始调用下游) 无法操作另外一个挂掉的主的情况,脑裂问题
- 怎样写一个获取数据函数:用TCP/IP通讯,向服务端发送命令,并从服务端获得返回数据.
- Java获取客户端ip以及根据ip查询到相应的ip地址
- 主机上有多个网卡用java指定获取某一个网卡ip的问题
- c++获取本机IP
- 一个简单客户端获取IP,国家,城市,省份的代码
- [js]一个获取页面ip的正则
- android 根据IP获取天气情况 详细讲解
- oracle 中如何获取本机ip地址,根据IP地址获取域名?
- Thinkphp3.2.3框架实现自动获取客户端IP地址的get_client_ip()函数
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- TP获取操作日志需要的值(ip、当前页面、全部get、post值)
- 【原创】C++实现获取本机机器名及外网IP代码
- C# 获取本机IP_考虑多网卡的情况