リモート コンピュータには、 LANとVPNの 2 つのアドレスがあります。
次のコードでLAN IPアドレスを取得しようとしました:
hostent *host = gethostbyname(hostname);
if (host) strcpy(ip, inet_ntoa(*((struct in_addr *)host->h_addr)));
そのため、 LANが返されることもありますが、 VPNが返されることもあります。h_addr_list フィールドに多くのアドレスがあることはわかっていますが、どのアドレスがローカルかを知るにはどうすればよいですか?
GetAdaptersInfo() を使用しようとしましたが、ローカル IP かどうかを判断するフィールドがありますが、コンピューターの IP アドレスを返すだけです。リモート コンピューターの IP を取得する方法がわかりません。
どなたか、アドバイスをお願いします!