Je jouais avec des sockets sur une machine locale sans connexion réseau. Voir ci-dessous:
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
Alors, quelle est exactement ::1
l'adresse IP? Est-ce l'adresse IP disponible par défaut ou l'adresse de bouclage? qu'advient-il du code ci-dessus (ligne de travail) sur une machine avec une adresse IP dédiée et une connexion réseau?
ÉDITER:
le code exact est utilisé pour lier une adresse IP spécifique au socket. C'est ici:
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);
}
IPAddress.Pars
est vraiment IPAddress.Parse
, correcte?
IPAddress.Any
est::0
, vous devez utiliserIPAddress.Loopback
pour la connexion locale (en boucle).