web-dev-qa-db-ja.com

IPアドレス「:: 1」とは何ですか?

ネットワークに接続していないローカルマシンのソケットで遊んでいました。下記参照:

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);
}
94
Xaqron

::1は、IPv6のループバックアドレスです。 127.0.0.1のIPv6バージョンと考えてください。

http://en.wikipedia.org/wiki/Localhost を参照してください

130
Brad

もう少し情報を追加するために、IPv6ループバックアドレスでは、127個のゼロとそれに続く1個のi.e(0000 ... 127回..1)で表されます。表現は次のようになっているはずです-> 00:0000:0000:0000:0000:0000:0000:0001しかし、これには短い表現があります。単一のブロックにすべてゼロがある場合、単一の0に置き換えることができます。したがって、-> :0:0:0:0:0:0:0001になります。繰り返しますが、ゼロの連続があることがわかります。ゼロを削除すると、-> :: 0001-> :: 1が得られます。

11
Coding bat