ネットワーク接続のないローカル マシンでソケットを操作していました。以下を参照してください。
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
では、::1
IP アドレスとは正確には何でしょうか? デフォルトで使用可能な IP アドレスですか、それともループバック アドレスですか? 専用の IP アドレスとネットワーク接続を備えたマシンでは、上記のコード (動作行) に何が起こるでしょうか?
編集:
特定の IP アドレスをソケットにバインドするには、正確なコードを使用します。次のようになります。
ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here's the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
return new IPEndPoint(IPAddress.Parse("::1"), 0);
}
ベストアンサー1
::1
は IPv6 のループバック アドレスです。 の IPv6 バージョンと考えてください127.0.0.1
。