c++中是否有API来查找机器的环回IP地址?

Is there any API in C++ to find the loopback IP address of a machine?

本文关键字:IP 地址 机器 查找 是否 API c++      更新时间:2023-10-16

我正在使用时间同步方法将本地时间与服务器时间同步。在某些情况下,服务器和本地机器是相同的。在这种情况下,我需要找到本地机器的环回IP地址,并检查服务器IP地址是否相同。这是需要的,所以我只需要一个API来查找环回IP地址。

保证环回地址为127.x.x。x (any可以工作,0.0.1是标准)在任何IPv4机器上,::1在任何IPv6机器上。这也不需要去查——它总是会工作的,在每台机器上它都会指向自己。

不行。假设一台机器由单个IP地址表示。这是不对的。适配器是一种虚拟适配器,"环回"适配器存在于每个系统中。但是环回适配器是唯一的,不同于任何物理适配器,因此环回IP地址(127.0.0.1)不同于任何物理适配器的IP地址。

可以通过GetAdaptersInfo获取本地IPv4地址的完整列表。检查服务器地址是否出现在该列表中。或者像Jan Hudec建议的那样,直接使用NTP。

在127.0.0.1到127.255.255.255的地址范围内的任意一个循环地址。你可以选择任何你想要的。大多数人通常选择127.0.0.1。不需要API