2011-01-06 431 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