web-dev-qa-db-fra.com

Quelle est l'adresse IP ':: 1'?

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 l'adresse IP ::1? 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?

MODIFIER:

le code exact est utilisé pour lier une adresse IP spécifique à un 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);
}
94
Xaqron

::1 est l'adresse de bouclage dans IPv6. Pensez-y comme à la version IPv6 de 127.0.0.1.

Voir http://en.wikipedia.org/wiki/Localhost

130
Brad

Juste pour ajouter un peu plus d’informations, l’adresse de bouclage IPv6 est représentée par 127 zéros suivis d’un 1 i.e (0000 ... 127 fois..1). Sa représentation aurait dû être comme ceci -> 00: 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0001 mais nous avons une représentation sous forme abrégée pour cela. S'il y a tous les zéros dans un seul bloc, vous pouvez le remplacer par un simple 0. Ainsi, il devient -> : 0: 0: 0: 0: 0: 0: 0001. Encore une fois, nous pouvons voir que nous avons des séries de zéros, ils peuvent être éliminés et nous obtenons -> :: 0001 -> :: 1.

11
Coding bat