私は「Jason Heine」(名前にタグを付ける方法を知らない)コードをC++にアップデートしました。今はうまくいくはずです。彼の方法でthnx。 だから、これは私が得るものです:
using namespace System;
using namespace System::Net;
void main(){
String ^strHostName = String::Empty;
// Getting Ip address of local machine...
// First get the host name of local machine.
strHostName = Dns::GetHostName();
Console::WriteLine("Local Machine's Host Name: " + strHostName);
// Then using host name, get the IP address list..
IPHostEntry^ ipEntry = Dns::GetHostEntry(strHostName);
array<IPAddress^> ^addr = ipEntry->AddressList;
for (int i = 0; i < addr->Length; i++)
{
Console::WriteLine("IP Address {0}: {1} ", i, addr[i]->ToString());
}
Console::ReadKey();
}
私は、これはあなたを助けることを願っています。
テスト済み私のPC上では、Wi-FiとLANの接続と「VMware Player」用の仮想チャーダーがほとんどなく、4つのIPv6を取得してから4つのIPv4で折り畳まれました。 IPv4だけが必要な場合は、
using namespace System;
using namespace System::Net;
void main(){
String ^strHostName = String::Empty;
// Getting Ip address of local machine...
// First get the host name of local machine.
strHostName = Dns::GetHostName();
Console::WriteLine("Local Machine's Host Name: " + strHostName);
// Then using host name, get the IP address list..
IPHostEntry^ ipEntry = Dns::GetHostEntry(strHostName);
array<IPAddress^> ^addr = ipEntry->AddressList;
for (int i = 0; i < addr->Length; i++)
{
if(addr[i]->ToString()->Length < 20){
Console::WriteLine("IP Address {0}: {1} ", i, addr[i]->ToString());
}
}
Console::ReadKey();
}
IPv4を取得できます。ちょうど数字は4から始まります。しかし、私にとっては大丈夫です。番号を再計算するために新しい変数を追加することができます:)