Я играл с сокетами на локальной машине без сетевого подключения. См. Ниже:
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
Так что же такое IP-адрес ::1
? Является ли это доступным по умолчанию IP-адресом или адресом обратной связи? что происходит с вышеуказанным кодом (рабочая строка) на машине с выделенным IP-адресом и сетевым соединением?
EDIT:
точный код используется для привязки определенного IP-адреса к сокету. Вот он:
ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
return new IPEndPoint(IPAddress.Parse("::1"), 0);
}