title: IPv6: Is `::' equivalent to `0.0.0.0' when listening for connections?
body: <p>When I examine the output of <a href="http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipglobalproperties.getactivetcplisteners(v=vs.110).aspx" rel="noreferrer"><code>IPGlobalProperties.GetActiveTcpListeners()</code></a>, I see listeners on <code>0.0.0.0</code> as well as <code>::</code>.</p>
  
  <p>I believe that listening on a port on <code>0.0.0.0</code> is equivalent to listening on a port on any network adapter,  at least my memory of the Windows socket API says that this is so.</p>
  
  <p>It also makes sense to me that <code>::</code> would mean the equivalent in IPv6 parlance so a listener on <code>[::]:49156</code> would be listening to port <code>49156</code> on all IPv6 network adapters where as <code>[::1]:1434</code> would be port <code>1434</code> on only the IPv6 loopback adapter.</p>
  
  <p>Is this correct?</p>
  
  <p>I assume that IPv6 listen end-points only apply to IPv6 adapters. That is, if an adapter only had an IPv4 address, connections to it port <code>49156</code> would not be received by a listener on <code>[::]:49156</code>?</p>
  
  <p>Also, has anyone noticed that the MSDN article for <code>GetActiveTcpListeners()</code> incorrectly declares that the returned objects "include listeners in all TCP states <em>except</em> the Listen state."?</p>