Represents an IP address. More...
#include <juce_IPAddress.h>
Public Member Functions | |
IPAddress () noexcept | |
Creates a null address - 0.0.0.0 (IPv4) or ::, (IPv6) More... | |
IPAddress (const uint8 *bytes, bool IPv6=false) noexcept | |
Creates an IPv4 or IPv6 address by reading 4 or 16 bytes from an array. More... | |
IPAddress (const uint16 *bytes) noexcept | |
Creates an IPv6 address from an array of 8 16-bit integers. More... | |
IPAddress (uint8 address1, uint8 address2, uint8 address3, uint8 address4) noexcept | |
Creates an IPv4 address from 4 bytes. More... | |
IPAddress (uint16 address1, uint16 address2, uint16 address3, uint16 address4, uint16 address5, uint16 address6, uint16 address7, uint16 address8) noexcept | |
Creates an IPv6 address from 8 16-bit integers. More... | |
IPAddress (uint32 asNativeEndian32Bit) noexcept | |
Creates an IPv4 address from a packed 32-bit integer, where the MSB is the first number in the address, and the LSB is the last. More... | |
IPAddress (const String &address) | |
Parses a string IP address of the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6). More... | |
int | compare (const IPAddress &) const noexcept |
Compares this IPAddress with another. More... | |
bool | isNull () const |
Returns whether the address contains the null address (e.g. More... | |
bool | operator!= (const IPAddress &) const noexcept |
bool | operator< (const IPAddress &) const noexcept |
bool | operator<= (const IPAddress &) const noexcept |
bool | operator== (const IPAddress &) const noexcept |
bool | operator> (const IPAddress &) const noexcept |
bool | operator>= (const IPAddress &) const noexcept |
String | toString () const |
Returns a dot- or colon-separated string in the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6). More... | |
Static Public Member Functions | |
static IPAddress | any () noexcept |
Returns an IP address meaning "any", equivalent to 0.0.0.0 (IPv4) or ::, (IPv6) More... | |
static IPAddress | broadcast () noexcept |
Returns an IPv4 address meaning "broadcast" (255.255.255.255) More... | |
static IPAddress | convertIPv4AddressToIPv4Mapped (const IPAddress &addressToMap) |
Converts an IPv4 address to an IPv4-mapped IPv6 address. More... | |
static IPAddress | convertIPv4MappedAddressToIPv4 (const IPAddress &mappedAddress) |
Converts an IPv4-mapped IPv6 address to an IPv4 address. More... | |
static void | findAllAddresses (Array< IPAddress > &results, bool includeIPv6=false) |
Populates a list of all the IP addresses that this machine is using. More... | |
static Array< IPAddress > | getAllAddresses (bool includeIPv6=false) |
Populates a list of all the IP addresses that this machine is using. More... | |
static String | getFormattedAddress (const String &unformattedAddress) |
Returns a formatted version of the provided IPv6 address conforming to RFC 5952 with leading zeros suppressed, lower case characters, and double-colon notation used to represent contiguous 16-bit fields of zeros. More... | |
static IPAddress | getInterfaceBroadcastAddress (const IPAddress &interfaceAddress) |
If the IPAdress is the address of an interface on the machine, returns the associated broadcast address. More... | |
static IPAddress | getLocalAddress (bool includeIPv6=false) |
Returns the first 'real' address for the local machine. More... | |
static bool | isIPv4MappedAddress (const IPAddress &mappedAddress) |
Returns true if the given IP address is an IPv4-mapped IPv6 address. More... | |
static IPAddress | local (bool IPv6=false) noexcept |
Returns an IPv4 or IPv6 address meaning "localhost", equivalent to 127.0.0.1 (IPv4) or ::1 (IPv6) More... | |
Public Attributes | |
uint8 | address [16] |
The elements of the IP address. More... | |
bool | isIPv6 = false |
Represents an IP address.
{Core}
|
noexcept |
Creates a null address - 0.0.0.0 (IPv4) or ::, (IPv6)
Creates an IPv4 or IPv6 address by reading 4 or 16 bytes from an array.
bytes | The array containing the bytes to read. |
IPv6 | if true indicates that 16 bytes should be read instead of 4. |
|
explicitnoexcept |
Creates an IPv6 address from an array of 8 16-bit integers.
bytes | The array containing the bytes to read. |
|
noexcept |
Creates an IPv4 address from 4 bytes.
|
noexcept |
Creates an IPv6 address from 8 16-bit integers.
|
explicitnoexcept |
Creates an IPv4 address from a packed 32-bit integer, where the MSB is the first number in the address, and the LSB is the last.
|
explicit |
Parses a string IP address of the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6).
|
staticnoexcept |
Returns an IP address meaning "any", equivalent to 0.0.0.0 (IPv4) or ::, (IPv6)
|
staticnoexcept |
Returns an IPv4 address meaning "broadcast" (255.255.255.255)
Compares this IPAddress with another.
|
static |
Converts an IPv4 address to an IPv4-mapped IPv6 address.
|
static |
Converts an IPv4-mapped IPv6 address to an IPv4 address.
If the address is not IPv4-mapped, this will return a null address.
|
static |
Populates a list of all the IP addresses that this machine is using.
References juce::Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::addIfNotAlreadyThere(), and juce::anonymous_namespace{juce_posix_IPAddress.h}::getAllInterfaceInfo().
Populates a list of all the IP addresses that this machine is using.
Returns a formatted version of the provided IPv6 address conforming to RFC 5952 with leading zeros suppressed, lower case characters, and double-colon notation used to represent contiguous 16-bit fields of zeros.
unformattedAddress | the IPv6 address to be formatted |
|
static |
If the IPAdress is the address of an interface on the machine, returns the associated broadcast address.
If the address is not an interface, it will return a null address.
References juce::anonymous_namespace{juce_posix_IPAddress.h}::getAllInterfaceInfo().
Returns the first 'real' address for the local machine.
Unlike local(), this will attempt to find the machine's actual assigned address rather than "127.0.0.1". If there are multiple network cards, this may return any of their addresses. If it doesn't find any, then it'll return local() as a fallback.
Returns true if the given IP address is an IPv4-mapped IPv6 address.
bool juce::IPAddress::isNull | ( | ) | const |
Returns whether the address contains the null address (e.g.
0.0.0.0).
Returns an IPv4 or IPv6 address meaning "localhost", equivalent to 127.0.0.1 (IPv4) or ::1 (IPv6)
String juce::IPAddress::toString | ( | ) | const |
Returns a dot- or colon-separated string in the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6).
uint8 juce::IPAddress::address[16] |
The elements of the IP address.
bool juce::IPAddress::isIPv6 = false |