View source code
Display the source code in std/socket.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.socket.getAddressInfo
Provides protocol-independent translation from host names to socket
addresses. If advanced functionality is not required, consider using
for compatibility with older systems.
getAddress
Prototype
AddressInfo[] getAddressInfo(T...)( char[] node, T options ) @trusted;
Returns
Array with one
per socket address.
AddressInfo
Throws
on failure, or SocketOSException
if this functionality is not available on the current system.
SocketFeatureException
Parameters
Name | Description |
---|---|
node | string containing host name or numeric address |
options | optional additional parameters, identified by type:
|
Example
// Roundtrip DNS resolution auto results = getAddressInfo("www.digitalmars.com"); assert(results[0].address.toHostNameString() == "digitalmars.com"); // Canonical name results = getAddressInfo("www.digitalmars.com", AddressInfoFlags.CANONNAME); assert(results[0].canonicalName == "digitalmars.com"); // IPv6 resolution results = getAddressInfo("ipv6.google.com"); assert(results[0].family == AddressFamily.INET6); // Multihomed resolution results = getAddressInfo("google.com"); assert(results.length > 1); // Parsing IPv4 results = getAddressInfo("127.0.0.1", AddressInfoFlags.NUMERICHOST); assert(results.length && results[0].family == AddressFamily.INET); // Parsing IPv6 results = getAddressInfo("::1", AddressInfoFlags.NUMERICHOST); assert(results.length && results[0].family == AddressFamily.INET6);
Authors
Christopher E. Miller, David Nadlinger, Vladimir Panteleev