static IPAddress [] GetHostAddresses (string hostNameOrAddress)
{
if (hostNameOrAddress == null)
throw new ArgumentNullException ("hostNameOrAddress");
if (hostNameOrAddress == "0.0.0.0" || hostNameOrAddress == "::0")
throw new ArgumentException ("Addresses 0.0.0.0 (IPv4) " +
"and ::0 (IPv6) are unspecified addresses. You " +
"cannot use them as target address.",
"hostNameOrAddress");
IPAddress addr;
if (hostNameOrAddress.Length > 0 && IPAddress.TryParse (hostNameOrAddress, out addr))
return new IPAddress[1] { addr };
return GetHostEntry (hostNameOrAddress).AddressList;
}