Что такое IP-адрес '::1'?


я играл с гнездами на локальной машине без подключения к сети. Смотрите ниже:

IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works

что именно ::1 IP-адрес ? Это доступный IP-адрес по умолчанию или это адрес обратной связи ? что происходит с указанным выше кодом (рабочая строка) на машине с выделенным IP-адресом и сетевым подключением ?

EDIT:

точный код используется для привязки определенного 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);
}
3 83

3 ответа:

::1 - Это адрес обратной связи в IPv6. Думайте об этом как о версии IPv6 127.0.0.1.

см.http://en.wikipedia.org/wiki/Localhost

просто чтобы добавить немного больше информации к нему, в IPv6 loopback адрес представлен в виде 127 нулей, за которыми следует 1 т. е. (0000... 127 раз..1). Это представление должно было быть таким -> 0000:0000:0000:0000:0000:0000:0000:0001 но у нас есть некоторые короткие формы представления для этого. Если в одном блоке есть все нули, вы можете заменить его одним 0. Так оно и становится ->0:0:0:0:0:0:0:0001. Опять же мы видим, что у нас есть пробеги нулей, они могут быть устранили и мы получаем - > ::0001 ->::1 .

Я думаю, что это IP-адрес в IPv6, как то, что Facebook имеет:

2a03:2880:2110:df07:лицо:b00c::1 (см. Что: 1 конец?)

подробнее об IP-адресах здесь.