Loading...
Searching...
No Matches
juce::IPAddress Class Referencefinal

`#include <juce_IPAddress.h>`

## Public Member Functions

| IPAddress () noexcept
| IPAddress (const uint8 *bytes, bool IPv6=false) noexcept
| IPAddress (const uint16 *bytes) noexcept
| IPAddress (uint8 address1, uint8 address2, uint8 address3, uint8 address4) noexcept
| IPAddress (uint16 address1, uint16 address2, uint16 address3, uint16 address4, uint16 address5, uint16 address6, uint16 address7, uint16 address8) noexcept
| IPAddress (uint32 asNativeEndian32Bit) noexcept
| IPAddress (const String &address)
bool | isNull () const
String | toString () const
int | compare (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
bool | operator>= (const IPAddress &) const noexcept

## Static Public Member Functions

static IPAddress | any () noexcept
static IPAddress | broadcast () noexcept
static IPAddress | local (bool IPv6=false) noexcept
static void | findAllAddresses (Array< IPAddress > &results, bool includeIPv6=false)
static Array< IPAddress > | getAllAddresses (bool includeIPv6=false)
static IPAddress | getLocalAddress (bool includeIPv6=false)
static String | getFormattedAddress (const String &unformattedAddress)
static bool | isIPv4MappedAddress (const IPAddress &mappedAddress)
static IPAddress | convertIPv4MappedAddressToIPv4 (const IPAddress &mappedAddress)
static IPAddress | convertIPv4AddressToIPv4Mapped (const IPAddress &addressToMap)
static IPAddress | getInterfaceBroadcastAddress (const IPAddress &interfaceAddress)

## Public Attributes

uint8 | address [16]
bool | isIPv6 = false

## Detailed Description

Represents an IP address.

Definition at line 32 of file juce_IPAddress.h.

## Constructor & Destructor Documentation

## IPAddress() [1/7]

juce::IPAddress::IPAddress | ( |  | ) |

noexcept

Creates a null address - 0.0.0.0 (IPv4) or ::, (IPv6)

Definition at line 39 of file juce_IPAddress.cpp.

Referenced by any(), broadcast(), compare(), convertIPv4AddressToIPv4Mapped(), convertIPv4MappedAddressToIPv4(), findAllAddresses(), getInterfaceBroadcastAddress(), getLocalAddress(), IPAddress(), IPAddress(), IPAddress(), isIPv4MappedAddress(), and local().

## IPAddress() [2/7]

juce::IPAddress::IPAddress | ( | const uint8 * | bytes,
|  | bool | IPv6 = false )

explicit noexcept

Creates an IPv4 or IPv6 address by reading 4 or 16 bytes from an array.

Parameters

  bytes | The array containing the bytes to read.
  IPv6 | if true indicates that 16 bytes should be read instead of 4.

## IPAddress() [3/7]

juce::IPAddress::IPAddress | ( | const uint16 * | bytes | ) |

explicit noexcept

Creates an IPv6 address from an array of 8 16-bit integers

Parameters

  bytes | The array containing the bytes to read.

## IPAddress() [4/7]

juce::IPAddress::IPAddress | ( | uint8 | address1,
|  | uint8 | address2,
|  | uint8 | address3,
|  | uint8 | address4 )

noexcept

Creates an IPv4 address from 4 bytes.

Definition at line 67 of file juce_IPAddress.cpp.

## IPAddress() [5/7]

juce::IPAddress::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

Definition at line 75 of file juce_IPAddress.cpp.

## IPAddress() [6/7]

juce::IPAddress::IPAddress | ( | uint32 | asNativeEndian32Bit | ) |

explicit 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.

Definition at line 91 of file juce_IPAddress.cpp.

## IPAddress() [7/7]

juce::IPAddress::IPAddress | ( | const String & | address | ) |

explicit

Parses a string IP address of the form "1.2.3.4" (IPv4) or "1:2:3:4:5:6:7:8" (IPv6).

Definition at line 121 of file juce_IPAddress.cpp.

## Member Function Documentation

## any()

IPAddress juce::IPAddress::any | ( |  | ) |

static noexcept

Returns an IP address meaning "any", equivalent to 0.0.0.0 (IPv4) or ::, (IPv6)

Definition at line 241 of file juce_IPAddress.cpp.

## broadcast()

IPAddress juce::IPAddress::broadcast | ( |  | ) |

static noexcept

Returns an IPv4 address meaning "broadcast" (255.255.255.255)

Definition at line 242 of file juce_IPAddress.cpp.

## compare()

int juce::IPAddress::compare | ( | const IPAddress & | other | ) | const

noexcept

Compares this IPAddress with another.

Returns
  0 if the two addresses are identical, negative if this address is smaller than the other one, or positive if is greater.

Definition at line 214 of file juce_IPAddress.cpp.

Referenced by compare(), and IPAddress().

## convertIPv4AddressToIPv4Mapped()

IPAddress juce::IPAddress::convertIPv4AddressToIPv4Mapped | ( | const IPAddress & | addressToMap | ) |

static

Converts an IPv4 address to an IPv4-mapped IPv6 address.

Definition at line 347 of file juce_IPAddress.cpp.

## convertIPv4MappedAddressToIPv4()

IPAddress juce::IPAddress::convertIPv4MappedAddressToIPv4 | ( | const IPAddress & | mappedAddress | ) |

static

Converts an IPv4-mapped IPv6 address to an IPv4 address. If the address is not IPv4-mapped, this will return a null address.

Definition at line 335 of file juce_IPAddress.cpp.

Referenced by compare().

## findAllAddresses()

void juce::IPAddress::findAllAddresses | ( | Array< IPAddress > & | results,
|  | bool | includeIPv6 = false )

static

Populates a list of all the IP addresses that this machine is using.

Referenced by getAllAddresses().

## getAllAddresses()

Array< IPAddress > juce::IPAddress::getAllAddresses | ( | bool | includeIPv6 = false | ) |

static

Populates a list of all the IP addresses that this machine is using.

Definition at line 368 of file juce_IPAddress.cpp.

Referenced by findAllAddresses(), getLocalAddress(), and juce::StreamingSocket::isLocal().

## getFormattedAddress()

String juce::IPAddress::getFormattedAddress | ( | const String & | unformattedAddress | ) |

static

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.

Parameters

  unformattedAddress | the IPv6 address to be formatted

Definition at line 246 of file juce_IPAddress.cpp.

Referenced by toString().

## getInterfaceBroadcastAddress()

IPAddress juce::IPAddress::getInterfaceBroadcastAddress | ( | const IPAddress & | interfaceAddress | ) |

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.

Referenced by getInterfaceBroadcastAddress().

## getLocalAddress()

IPAddress juce::IPAddress::getLocalAddress | ( | bool | includeIPv6 = false | ) |

static

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.

Definition at line 357 of file juce_IPAddress.cpp.

Referenced by findAllAddresses().

## isIPv4MappedAddress()

bool juce::IPAddress::isIPv4MappedAddress | ( | const IPAddress & | mappedAddress | ) |

static

Returns true if the given IP address is an IPv4-mapped IPv6 address.

Definition at line 320 of file juce_IPAddress.cpp.

Referenced by compare(), convertIPv4MappedAddressToIPv4(), and IPAddress().

## isNull()

bool juce::IPAddress::isNull | ( |  | ) | const

Returns whether the address contains the null address (e.g. 0.0.0.0).

Definition at line 101 of file juce_IPAddress.cpp.

Referenced by IPAddress().

## local()

IPAddress juce::IPAddress::local | ( | bool | IPv6 = false | ) |

static noexcept

Returns an IPv4 or IPv6 address meaning "localhost", equivalent to 127.0.0.1 (IPv4) or ::1 (IPv6)

Definition at line 243 of file juce_IPAddress.cpp.

Referenced by juce::InterprocessConnection::getConnectedHostName(), and getLocalAddress().

## operator!=()

bool juce::IPAddress::operator!= | ( | const IPAddress & | other | ) | const

noexcept

Definition at line 208 of file juce_IPAddress.cpp.

## operator<()

bool juce::IPAddress::operator< | ( | const IPAddress & | other | ) | const

noexcept

Definition at line 209 of file juce_IPAddress.cpp.

## operator<=()

bool juce::IPAddress::operator<= | ( | const IPAddress & | other | ) | const

noexcept

Definition at line 210 of file juce_IPAddress.cpp.

## operator==()

bool juce::IPAddress::operator== | ( | const IPAddress & | other | ) | const

noexcept

Definition at line 207 of file juce_IPAddress.cpp.

## operator>()

bool juce::IPAddress::operator> | ( | const IPAddress & | other | ) | const

noexcept

Definition at line 211 of file juce_IPAddress.cpp.

## operator>=()

bool juce::IPAddress::operator>= | ( | const IPAddress & | other | ) | const

noexcept

Definition at line 212 of file juce_IPAddress.cpp.

## toString()

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).

Definition at line 177 of file juce_IPAddress.cpp.

Referenced by juce::InterprocessConnection::getConnectedHostName(), and IPAddress().

## Member Data Documentation

## address

uint8 juce::IPAddress::address[16]

The elements of the IP address.

Definition at line 113 of file juce_IPAddress.h.

Referenced by compare(), convertIPv4AddressToIPv4Mapped(), convertIPv4MappedAddressToIPv4(), IPAddress(), IPAddress(), IPAddress(), IPAddress(), IPAddress(), IPAddress(), isIPv4MappedAddress(), isNull(), and toString().

## isIPv6

bool juce::IPAddress::isIPv6 = false

Definition at line 115 of file juce_IPAddress.h.

The documentation for this class was generated from the following files:

- juce_IPAddress.h
- juce_IPAddress.cpp