用C++获取特定的IP地址

问题描述 投票:-1回答:1

我看到很多堆栈溢出的答案都说应该使用GetAdpatersInfo,但这将返回所有适配器的信息。我如何确定哪个适配器的IP地址是由我的公司网络服务器分配的,也就是说,如果有人用它的名字ping我的机器,返回的IP地址就是它。

谢谢。

c++ winapi ip-address
1个回答
0
投票

最简单的方法可能是 connect() 到您的特定网络服务器,然后调用 getsockname 连接到服务器的套接字上。这样你就可以得到本地的 SOCKADDR即服务器回话的地址。

当然,前提是你知道 本地网络服务器。如果有两个网络服务器连接到两个不同的适配器上,那就不行了。这是合乎逻辑的;你需要某种方法来区分适配器,根据你的问题,那个唯一的信息位是一个特定的网络服务器。

© www.soinside.com 2019 - 2024. All rights reserved.