Ich verwende eine Drittanbieter-DLL, die einen "IPEndPoint" erfordert. Da der Benutzer entweder eine IP-Adresse oder einen Host-Namen eingeben kann, muss ich einen Host-Namen in eine IP-Adresse konvertieren, bevor ich einen IPEndPoint erstellen kann. Gibt es irgendwelche Funktionen, um dies in .net zu tun, oder werde ich meinen eigenen DNS-Lookup-Code schreiben müssen? Erstellen eines IPEndPoint von einem Hostnamen
10
A
Antwort
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
können Sie so etwas wie folgt verwenden:
var addresses = Dns.GetHostAddresses(uri);
Debug.Assert(addresses.Length > 0);
var endPoint = new IPEndPoint(addresses[0], port);
Verwandte Themen
- 1. Der beste Weg IPEndPoint von String
- 2. Erhalte den Hostnamen von der IP-Adresse
- 3. Extrahieren von Text aus Hostnamen
- 4. Erstellen eines ExecutorService von einem Executor
- 5. Aktuelles SVN-Projekt - Hostnamen ändern
- 6. Holen Sie sich das dynamisch alloccated Port einen IPEndPoint
- 7. Wie man den Hostnamen auf einem G1 Telefon einstellt
- 8. Erste Hostnamen sqlmap mit
- 9. Erstellen eines Datensatzes in einem Modell beim Erstellen eines Datensatzes in einem anderen Modell in odoo
- 10. Erstellen eines System.Web.Caching.Cache-Objekts in einem Komponententest
- 11. Erstellen eines UIImage aus einem gedrehten UIImageView
- 12. Erstellen eines klebrigen Headers auf einem Thead
- 13. Erstellen eines Popup-Meldungsfelds mit einem Eingabefeld
- 14. Erstellen eines Tupel in einem Linq Select
- 15. nur ein Teil eines Musters in SSH Config Hostnamen
- 16. Wie bekomme ich den Hostnamen von Crossbar.io?
- 17. Erstellen eines Klassenattributs abhängig von einem anderen Attribut
- 18. Problem beim Erstellen eines Balkendiagramms in d3 von einem Array
- 19. Erstellen eines Windows-Checkbox in einem VBScript, die von cscript.exe
- 20. Erstellen eines "inneren Strich" -Effekts von einem Polygon
- 21. Erstellen eines Remoteservers in einem LAN anstelle von Git Hub
- 22. Erstellen Sie eine Zeit Zeichenfolge von einem Bruchteil eines Tages
- 23. Erstellen eines Popover von einem UIButton in Swift
- 24. Erstellen von Programmgesteuertes eines User Control in einem webanwendungsprojekt
- 25. Erstellen eines Datenrahmens von einem anderen (mit Pivot)
- 26. https.listen ignoriert den Hostnamen
- 27. Ping einen Hostnamen im Netzwerk
- 28. Erstellen eines Häkchens in einem Pickerview
- 29. Erstellen eines Bildes aus einem nsIBinaryInputStream
- 30. Erstellen eines Objekts aus einem dynamischen Datenbankaufruf
Wie wissen Sie, 'Adressen [0]' ist die am besten geeignete Adresse in der Liste der zurückgegebenen Adressen? – dtb
Sie wissen es nicht, aber die Chancen sind sehr gering, dass es darauf ankommt. – ChaosPandion
sollte es die erste IP-Adresse in der Liste als Round-Robin-DNS-Server werden es in einer anderen Reihenfolge jedes Mal erwartet Clients verwenden die erste, so dass die erste in der Liste;). –