IpAddress models both IPv4 and IPv6 numeric addresses as well as provide DNS hostname resolution.
Slots
- bytesSource
-
native 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.
- equalsSource
-
override native Bool equals(Obj? obj)
Overrides sys::Obj.equals
Equality is based on equivalent address bytes.
- hashSource
-
override native Int hash()
Overrides sys::Obj.hash
Hash code is based the address bytes.
- hostnameSource
-
native 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.
-
new internalMake()
Private constructor.
- isIPv4Source
-
native Bool isIPv4()
Is this a 32 bit (four byte) IP version 4 address.
- isIPv6Source
-
native Bool isIPv6()
Is this a 128 bit (sixteen byte) IP version 6 address.
- localSource
-
static native IpAddress local()
Return the IpAddress for the local machine.
- makeSource
-
static native IpAddress 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:
IpAddress("169.200.3.103") IpAddress("1080:0:0:0:8:800:200C:417A") IpAddress("1080::8:800:200C:417A") IpAddress("::ffff:129.144.52.38") IpAddress("somehost") IpAddress("www.acme.com")
- makeAllSource
-
static native IpAddress[] 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 IpAddress 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.
- makeBytesSource
-
static native IpAddress makeBytes(Buf bytes)
Make an IpAddress for the specified raw bytes. The size of the byte buffer must be 4 for IPv4 or 16 for IPv6, otherwise ArgErr is thrown. The bytes must be a memory backed buffer.
- numericSource
-
native 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.
- toStrSource
-
override native Str toStr()
Overrides sys::Obj.toStr
Return the exact string passed to the constructor.