ローカルマシンのIPv4アドレスを取得する
自分のマシンのIPアドレスを取得するにはGetHostNameとGetHostEntryを組み合わせて使う。ただし、最近はIPアドレスにIPv6のものが含まれているので、古いIPv4アドレス(xxx.xxx.xxx.xxx)を取得できないときがある。ということで、そんなときはIPAddressクラスのAddressFamilyクラスを確認してやればよい。これがInterNetworkになっていればIPv4のアドレスであるとわかる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
string getIPAddress() { string ipaddress = ""; IPHostEntry ipentry = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in ipentry.AddressList) { if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { ipaddress = ip.ToString(); break; } } return ipaddress; } |
That’s it!
GetHostEntryに関しては System.Net.Dns.GetHostEntryを使った名前解決 も参照。
スポンサーリンク
スポンサーリンク