繁体   English   中英

获取全球IP地址

[英]get global ip address

如何获得(在C ++中)我的计算机的全局 IP地址(Windows XP)?

你不能。

您可以确定各种接口上的IP地址,并且可能有多个IP地址。 这些可能是局域网IP(10.0.0.0/8,192.168.0.0/16等),或者它们可能是互联网可路由的。

您似乎在问“我是否有192.168.0.3,如何获取我的Internet IP?” 没有函数调用来执行此操作:这样的IP可能存在,它可能不存在,甚至可能不止一个。

您可以获得的最接近的是让互联网上的已知计算机告诉您:连接到其他计算机,并要求他们发回他们认为您的IP地址。 有一些网站为此,有些可能甚至有API来做到这一点。

我觉得有些家用路由器也可能通过uPnP告诉你,但同样,这不会涵盖所有可能的情况。

使用此纯文本IP url: get ip

在Windows上,您需要获取本地主机名,然后将其传递给winsock2中的gethostbyname函数,该函数返回关联的IP地址。

示例: http//tangentsoft.net/wskfaq/examples/ipaddr.html

Linux的堆栈溢出答案:

获取机器的IP地址

您必须向http://whatismyipaddress.com/等网站发出请求,并在其中提取显示您的IP的字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM