読者です 読者をやめる 読者になる 読者になる

ローカルマシンのIPAddressを取得するのに Dns.GetHostEntry(Dns.GetHostName()) とか使えない

.NET

.NETでSocketをたたくコードをMSDNのサンプルをもとに書いてたのだけど、Socket#Bind()でエラーが出て少しハマった。よく考えればわかることなんだけど、Dns.GetHostEntry(Dns.GetHostName())だと、ipv6アドレスやHyper-Vの仮想NICとかのインターフェースも全部取れてくるので、現実的には使えない。

で、IPAddress.AnyかIPAddress.Parse("127.0.0.1")みたいに書くしかない。MSDNのサンプルコードもIPAddress.Anyにしとけばいいのに。