Estoy usando un dll de un tercero que requiere un "IPEndPoint". Como el usuario puede ingresar una dirección IP o un nombre de host, necesito convertir un nombre de host en una dirección IP antes de poder crear un IPEndPoint. ¿Hay alguna función para hacer esto en .net o tendré que escribir mi propio código de búsqueda de DNS?Creación de un IPEndPoint a partir de un nombre de host
10
A
Respuesta
24
System.Net.Dns.GetHostAddresses
public static IPEndPoint GetIPEndPointFromHostName(string hostName, int port, bool throwIfMoreThanOneIP)
{
var addresses = System.Net.Dns.GetHostAddresses(hostName);
if (addresses.Length == 0)
{
throw new ArgumentException(
"Unable to retrieve address from specified host name.",
"hostName"
);
}
else if (throwIfMoreThanOneIP && addresses.Length > 1)
{
throw new ArgumentException(
"There is more that one IP address to the specified host.",
"hostName"
);
}
return new IPEndPoint(addresses[0], port); // Port gets validated here.
}
0
se puede usar algo como esto:
var addresses = Dns.GetHostAddresses(uri);
Debug.Assert(addresses.Length > 0);
var endPoint = new IPEndPoint(addresses[0], port);
Cuestiones relacionadas
- 1. Caracteres válidos de un nombre de host?
- 2. Extraiga el nombre de dominio de un nombre de host
- 3. resolver un nombre de host a otro, utilizando hosts
- 4. Java: creación de un objeto de subclase a partir de un objeto principal
- 5. Creación de un PDF a partir de un Informe RDLC en segundo plano
- 6. Creación de un servicio web simulado a partir de un archivo WSDL en Python
- 7. Nombre de host Vs Nombre de host canónico
- 8. Nombre de host Regex
- 9. Obtener el nombre de host de la dirección IP
- 10. Creación de variables con nombre dinámico a partir de la entrada del usuario
- 11. mejor manera de crear IPEndPoint de cadena
- 12. violinista: Creación de una regla AutoResponse para mapear todas las llamadas a un host a otro host
- 13. Creación de un archivo XML a partir de celdas XLS mediante indentaciones
- 14. Rieles: creación de una etiqueta de selección a partir de un hash de objeto
- 15. Creación de videos a partir de series de imágenes?
- 16. Creación de objetos BSON a partir de la cadena JSON
- 17. Creación automatizada de PDF a partir de la dirección URL
- 18. WP7 Mango - Cómo obtener una dirección IP para un nombre de host dado
- 19. Creación de cadenas inseguras a partir de char []
- 20. automática la creación de tablas en Word a partir de un documento de Excel
- 21. accediendo a un host virtual local desde fuera de LAN como host virtual como http: // nombre de sitio en lugar de http: // nombre de sistema/nombre de sitio
- 22. Hacer ping en un nombre de host en la red
- 23. Creación de un color C# a partir de los valores HSL
- 24. Keytool set nombre de host
- 25. python: compruebe si se resuelve un nombre de host
- 26. ¿Existe una alternativa rápida a la creación de un Texture2D a partir de un objeto Bitmap en XNA?
- 27. nombre de host excepción incorrecta
- 28. ¿Cómo obtener un nombre de usuario en Active Directory a partir de un nombre para mostrar en C#?
- 29. Emacs: agregar nombre de host a la línea de modo?
- 30. Python Subprocess.Popen a partir de un hilo
¿Cómo sabe 'direcciones [0] 'es la dirección más adecuada en la lista de direcciones devueltas? – dtb
No lo sabes, pero las probabilidades son muy escasas de que importe. – ChaosPandion
debería ser la primera dirección IP de la lista, ya que los servidores DNS lo atenderán en un orden diferente cada vez esperando que los clientes utilicen el primero así que use el primero en la lista;). –