次のような DNS 方法は、サーバーの IP アドレスを取得するのに比較的簡単で実用的です。
以下は引用です。
private void ButtonIP_Click(オブジェクト送信者、System.EventArgs e)
{ System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if (addressList.Length>1)
{ TextLIP.Text = addressList[0].ToString();
TextSIP.Text = addressList[1].ToString();
}
それ以外
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = "利用可能な接続がありません";
}
}
サーバーの IP アドレスと MAC アドレスを取得する別の方法は次のとおりです。
以下は引用です。
System.Management を使用します。
文字列 stringMAC = "";
文字列 stringIP = "";
ManagementClass MC = 新しい ManagementClass "Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC= MC.GetInstances();
foreach(MOC の ManagementObject MO)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
TextMAC.Text = stringMAC.ToString();
string[] IPAddresses = (string[]) MO["IPAddress"];
if(IPAddresses.Length > 0)
stringIP = IPアドレス[0];
TextIP.Text = stringIP.ToString();
}
}
クライアントのローカル マシンの IP アドレスを取得する方法は次のとおりです。
以下は引用部分です。
System.Net を使用する。
TextIP.Text=Page.Request.UserHostAddress;
クライアントのローカル マシンの MAC アドレスを取得したい場合は、2 つの API をインポートして呼び出し、ARP プロトコルを使用して取得する必要がありますが、これは同じマシン上の MAC アドレスしか取得できません。ネットワーク セグメントの場合は、IP スキャンを使用するか、cmd で nbtstat コマンドを使用して MAC アドレスを取得する必要があります。システム レジストリ値または WMI データベースを読み取って取得することもできます。簡単で実行可能な方法があれば、メッセージを残してお知らせください。