class

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 toStr

Return the exact string passed to the constructor

numeric

Get this address as a Str in its numeric notation

isIPv4

Is this a 32 bit (four byte) IP version 4 address

local

Return the IpAddr for the local machine

toNative

To the native platform representation

hostname

Return the hostname of this address

isIPv6

Is this a 128 bit (sixteen byte) IP version 6 address

makeAll

Resolve a hostname to all of its configured IP addresses

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

isLoopback

Is this a loopback address

makeBytes

Make an IpAddr for the specified raw bytes

hash

Hash code is based the address bytes

isSiteLocal

Is this a site local address

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 Bool equals(Obj? obj)

Equality is based on equivalent address bytes.

hash virtual 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 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

toStr virtual Str toStr()

Return the exact string passed to the constructor.

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST