public static EndPoint AddressToSocketAddress(Address address)
{
if(address.Port == null) throw new ArgumentException($"address port must not be null: {address}");
EndPoint listenAddress;
IPAddress ip;
if (IPAddress.TryParse(address.Host, out ip))
{
listenAddress = new IPEndPoint(ip, (int)address.Port);
}
else
{
// DNS resolution will be performed by the transport
listenAddress = new DnsEndPoint(address.Host, (int)address.Port);
}
return listenAddress;
}