使用ACE获取主机的IP地址,不知道为什么会有127.0.0.1?

#include "stdafx.h"
#include "ace\OS.h"
#include "ace\SOCK_Connector.h" //用ACE获取本机IP address
int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData) != 0) return 0; //得到主机名
char hostname[MAXHOSTNAMELEN];
ACE_OS::hostname(hostname, sizeof (hostname));
printf("host name is %s\n", hostname);
printf("--------------------------\n"); ACE_INET_Addr* addr_array1;
size_t count = 0;
if (ACE::get_ip_interfaces(count, addr_array1) != 0)
{
return 0;
} //可以装下IPv6地址(46),IPv4为INET_ADDRSTRLEN(16)
char address[INET6_ADDRSTRLEN];
//为了最后要删除空间,所以定义新的变量
ACE_INET_Addr* addr_array2 = addr_array1;
for(size_t i=0; i<count; i++)
{
unsigned int net_order_ip = htonl(addr_array2->get_ip_address());
struct in_addr *paddr_stru = (in_addr*)&net_order_ip;
printf("format 0: %s\n", ACE_OS::inet_ntoa(*paddr_stru)); addr_array2->addr_to_string(address, sizeof (address), 1);
printf("format 1: %s\n", address);
addr_array2++;
printf("--------------------------\n"); } //记得要delete[] addr_array;
delete[] addr_array1; getchar();
return 0;
}

使用ACE获取主机的IP地址的更多相关文章

  1. java 获取访问主机的ip地址

    Java的api的说法: getHeader public java.lang.String getHeader(java.lang.String name) Return the first val ...

  2. Java 实例 - 获取本机ip地址及主机名

    package guyu.day0824; import java.net.InetAddress; /** * @Author: Fred * @Date: 2020/8/24 09:39 */ p ...

  3. QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

    获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...

  4. 获取客户端登录ip地址

    request方法客户端IP: request.getRemoteAddr()  输出:192.168.0.106 客户端主机名:request.getRemoteHost()输出:abc 在JSP里 ...

  5. 使用nginx代理后以及配置https后,如何获取真实的ip地址

    使用nginx代理后以及配置https后,如何获取真实的ip地址 Date:2018-8-27 14:15:51 使用nginx, apache等反向代理后,如果想获取请求的真实ip,要在nginx中 ...

  6. asp.net获取URL和IP地址

    (转自:http://www.cnblogs.com/JuneZhang/archive/2010/11/26/1888863.html) HttpContext.Current.Request.Ur ...

  7. java获取真实的ip地址

    直接上代码,获取请求主机的IP地址,如果通过代理进来,则透过防火墙获取真实IP地址 public class IPUtil { private static final Logger logger = ...

  8. python获取本机IP地址

    方法一 通常使用socket.gethostname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称) import socket #获取计算机名称hostname=socke ...

  9. Java中使用HttpRequest获取用户真实IP地址端口

    import javax.servlet.http.HttpServletRequest; /** * 自定义访问对象工具类 * * 获取对象的IP地址等信息 * @author X-rapido * ...

随机推荐

  1. [Swust OJ 799]--Superprime Rib(DFS)

    题目链接:http://acm.swust.edu.cn/problem/799/ Time limit(ms): 1000 Memory limit(kb): 10000   Description ...

  2. Python学习之路——迭代器、生成器、算法基础、正则

    一.迭代器: 迭代器是访问集合元素的一种方式. 迭代器对象是从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. 另外,迭代 ...

  3. 让innerHTML方法添加到元素里的js可以被解析执行

    <!DOCTYPE html> <html> <head> </head> <body> <div id="test&quo ...

  4. 单点登录 .NET MVC

    原文:单点登录 .NET MVC CAS 实现单点登录 .NET MVC   单点登录 Single Sign On,简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应 ...

  5. hibernate 事务的隔离级别 5.1

    脏读不可重复读幻读可序列化(符合事务的四个特性的正常情况 ) 解释: 脏读:事务A对数据1做了更新,但是还没有来得及提交 此时事务B对数据1进行了查询获得了事务A更新后的数据, 但是事务A因为一些原因 ...

  6. SpringBoot接口服务处理Whitelabel Error Page(转)

    To switch it off you can set server.error.whitelabel.enabled=false http://stackoverflow.com/question ...

  7. 告别IE给我们的web开发带来的困扰(使用chrome frame v8引擎)

    茶爸爸个人微信:benyzhous,公众号:cha-baba欢迎骚扰 由于客户所有机器必须使用IE6浏览器,导致我们在开发项目过程中遇到非常多的样式与性能问题,在偶然的一次使用360软件管家搜索chr ...

  8. LibSVM笔记系列(3)——初学移植libsvm的C/C++版本

    在LibSVM笔记系列(1)中已经提到在g++环境中编译LibSVM只需要一个make命令那样简单. 本文将介绍 (1)LibSVM的编译文件结构 (2)svm.h中重要数据结构及函数分析 (3)sv ...

  9. 史上最全然oophper php文件上传之文件类型相应表,ie,火狐各一份。

    ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 bmp image/bmp 4 psd appl ...

  10. CSDN排名第一和第二的人

    http://blog.csdn.net/phphot http://blog.csdn.net/yuanmeng001