什么是IP地址':: 1'?

时间:2011-01-06 03:17:47

标签: c# ip system.net

我在没有网络连接的本地机器上玩套接字。见下文:

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

2 个答案:

答案 0 :(得分:123)

::1是IPv6中的环回地址。可以将其视为127.0.0.1的IPv6版本。

请参阅http://en.wikipedia.org/wiki/Localhost

答案 1 :(得分:10)

只是为它添加更多信息,在IPv6中,环回地址表示为127个零,后跟1,即(0000 ... 127倍...... 1)。 它的表示应该是这样的 - > 0000:0000:0000:0000:0000:0000:0000:0001 但我们有一些简短的表格。如果单个块中存在全零,则可以将其替换为单个0.因此它变为 - >的 0:0:0:0:0:0:0:0001 即可。 我们再次看到我们有零运行,它们可以被淘汰而且我们得到了 - > :: 0001 - > :: 1