我看到很多堆栈溢出的答案都说应该使用GetAdpatersInfo,但这将返回所有适配器的信息。我如何确定哪个适配器的IP地址是由我的公司网络服务器分配的,也就是说,如果有人用它的名字ping我的机器,返回的IP地址就是它。
谢谢。
最简单的方法可能是 connect()
到您的特定网络服务器,然后调用 getsockname
连接到服务器的套接字上。这样你就可以得到本地的 SOCKADDR
即服务器回话的地址。
当然,前提是你知道 的 本地网络服务器。如果有两个网络服务器连接到两个不同的适配器上,那就不行了。这是合乎逻辑的;你需要某种方法来区分适配器,根据你的问题,那个唯一的信息位是一个特定的网络服务器。