什么是IP地址“:: 1”?
我在本地机器上玩sockets,没有networking连接。 见下文:
IPAddress address = IPAddress.Any; // doesn't work IPAddress address = IPAddress.Parse("::1"); // works
那么究竟是什么::1
IP地址? 它是默认的可用IP地址还是它的回送地址? 上面的代码(工作线)在具有专用IP地址和networking连接的计算机上会发生什么?
编辑:
确切的代码是用来绑定一个特定的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); }
::1
是IPv6中的环回地址。 把它看作是127.0.0.1
的IPv6版本。
为了增加更多的信息,在IPv6环回地址中表示为127个零,接着是1(即… 127次)。 它的表示应该是这样 – > 0000:0000:0000:0000:0000:0000:0000:0001,但是我们有一些简短的表示forms。 如果单个块中全部为零,则可以用单个0代替。因此,它变为 – > 0:0:0:0:0:0:0:0001 。 我们再次可以看到,我们有零个运行,他们可以被消除,我们得到 – > :: 0001 – > :: 1 。