0.0.0.0 IPAddress.Any 【】127.0.0.1 IPAddress.Loopback 【】localhost
http://www.cnblogs.com/chucklu/p/5454173.html
0.0.0.0 IPAddress.Any
https://msdn.microsoft.com/en-us/library/system.net.ipaddress.any(v=vs.110).aspx
Provides an IP address that indicates that the server must listen for client activity on all network interfaces. This field is read-only.
The Socket.Bind method uses the Any field to indicate that a Socket instance must listen for client activity on all network interfaces.
The Any field is equivalent to 0.0.0.0 in dotted-quad notation.
127.0.0.1 IPAddress.Loopback
https://msdn.microsoft.com/en-us/library/system.net.ipaddress.loopback(v=vs.110).aspx
Provides the IP loopback address. This field is read-only.
The Loopback field is equivalent to 127.0.0.1 in dotted-quad notation.
What is the difference between 0.0.0.0, 127.0.0.1 and localhost?
127.0.0.1 is normally the IP address assigned to the "loopback" or local-only interface.
This is a "fake" network adapter that can only communicate within the same host.
It's often used when you want a network-capable application to only serve clients on the same host.
A process that is listening on 127.0.0.1 for connections will only receive local connections on that socket.
"localhost" is normally the hostname for the 127.0.0.1 IP address.
It's usually set in /etc/hosts (or the Windows equivalent named "hosts" somewhere under %WINDIR%).
You can use it just like any other hostname - try "ping localhost" to see how it resolves to 127.0.0.1.
0.0.0.0 has a couple of different meanings, but in this context, when a server is told to listen on 0.0.0.0 that means "listen on every available network interface".
The loopback adapter with IP address 127.0.0.1 from the perspective观点 of the server process looks just like any other network adapter on the machine,
so a server told to listen on 0.0.0.0 will accept connections on that interface too.