2011-01-06 510 views
73

我在本地机器上玩插座,没有网络连接。见下:什么是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); 
} 
+4

`IPAddress.Any`为`:: 0`,您应该使用`IPAddress.Loopback`作为本地(环回)连接。 – 2011-01-06 03:31:41

+0

我认为这应该已经发布在SuperUser.com – Kamyar 2011-01-06 03:52:01

回答

5

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