type
IpAddr
const class IpAddr : Obj
IpAddr models both IPv4 and IPv6 numeric addresses as well as provide DNS hostname resolution.
constructors
make |
Parse an IP address formated as an IPv4 numeric address, IPv6 numeric address, or a DNS hostname. |
---|
methods
bytes |
Get the raw bytes of this address as a Buf of 4 or 16 bytes for IPv4 or IPv6 respectively. |
---|---|
equals |
Equality is based on equivalent address bytes. |
hash |
Hash code is based the address bytes. |
hostname |
Return the hostname of this address. |
isIPv4 |
Is this a 32 bit (four byte) IP version 4 address. |
isIPv6 |
Is this a 128 bit (sixteen byte) IP version 6 address. |
isLoopback |
Is this a loopback address. |
isSiteLocal |
Is this a site local address. |
local |
Return the IpAddr for the local machine. |
makeAll |
Resolve a hostname to all of its configured IP addresses. |
makeBytes |
Make an IpAddr for the specified raw bytes. |
numeric |
Get this address as a Str in its numeric notation. |
toNative |
To the native platform representation |
toStr |
Return the exact string passed to the constructor. |
Slot Details
bytes
Buf bytes()
Get the raw bytes of this address as a Buf of 4 or 16 bytes for IPv4 or IPv6 respectively. The buf position is zero.
equals
hash
virtual override Int hash()
Hash code is based the address bytes.
hostname
Str hostname()
Return the hostname of this address. If a hostname was specified in make, then that string is used. Otherwise this method will perform a reverse DNS lookup potentially blocking the calling thread. If the address cannot be mapped to a hostname, then return the address in its numeric format.
isIPv4
Bool isIPv4()
Is this a 32 bit (four byte) IP version 4 address.
isIPv6
Bool isIPv6()
Is this a 128 bit (sixteen byte) IP version 6 address.
isLoopback
Bool isLoopback()
Is this a loopback address.
isSiteLocal
Bool isSiteLocal()
Is this a site local address.
local
static IpAddr local()
Return the IpAddr for the local machine.
make
static new make(Str s)
Parse an IP address formated as an IPv4 numeric address, IPv6 numeric address, or a DNS hostname. If a hostname if provided, then it is resolved to an IP address potentially blocking the calling thread. If the address is invalid or a hostname cannot be resolved then UnknownHostErr is thrown.
Examples:
IpAddr("169.200.3.103") IpAddr("1080:0:0:0:8:800:200C:417A") IpAddr("1080::8:800:200C:417A") IpAddr("::ffff:129.144.52.38") IpAddr("somehost") IpAddr("www.acme.com")
makeAll
static IpAddr[] makeAll(Str s)
Resolve a hostname to all of its configured IP addresses. If a numeric IPv4 or IPv6 address is specified then a list of one IpAddr is returned. If a hostname if provided, then it is resolved to all its configured IP addresses potentially blocking the calling thread. If the address is invalid or a hostname cannot be resolved then UnknownHostErr is thrown.
makeBytes
numeric
Str numeric()
Get this address as a Str in its numeric notation. For IPv4 this is four decimal digits separated by dots. For IPv6 this is eight hexadecimal digits separated by colons.
toNative
Obj toNative()
To the native platform representation:
- Java: returns
java.net.InetAddress
- .NET: returns
System.Net.IPAddress
toStr
virtual override Str toStr()
Return the exact string passed to the constructor.