const class inet::IpAddr
sys::Obj inet::IpAddr
IpAddr models both IPv4 and IPv6 numeric addresses as well as provide DNS hostname resolution.
- 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
-
virtual override Bool equals(Obj? obj)
Equality is based on equivalent address bytes.
- 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 List<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
-
static IpAddr makeBytes(Buf bytes)
Make an IpAddr 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.
- 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
- Java: returns
- toStr
-
virtual override Str toStr()
Return the exact string passed to the constructor.