在c ++上获取本地机器的IP地址

时间:2014-04-30 06:47:18

标签: c++ winapi ip winsock

我想检索计算机的IP地址(与http://www.whatsmyip.org/上的相同) 我有一个win32项目。

This是我正在使用的代码,因为我没有找到任何关于此的教程,我可以获得以下信息,但不是我在whatsmyip.org上看到的计算机的IP地址:( < / p>

我在whatsmyip.org上获得的IP从116.x.x.x开始

enter image description here

2 个答案:

答案 0 :(得分:3)

您的代码获取适配器地址,这些地址是本地的。如果您需要Internet地址,则需要使用Internet,而不是本地网络。您需要复制向外部站点询问它所连接的IP的功能。有关如何执行此操作的一些建议,请参阅here

检索http://icanhazip.com即可。您可以使用您喜欢的任何HTTP库。

答案 1 :(得分:2)

分配给您计算机的IP不一定是您在本地网络外部看到的IP(例如,在whatsmyip.org中)。

您的计算机未使用有效的静态IP直接连接到Internet。也许你是NAT背后的人。因此,您无法通过在许多情况下列出本地分配的IP来确定Internet上的有效IP。

要了解Internet中的IP地址,您可以通过两种方式进行操作。通过互联网向某人询问(例如,使用whatsmyip.org)。或者,以递归方式查询本地网络(这不是一件容易的事)

相关问题