Spec-Zone.ru › Qt 6.0

Класс QNetworkAddressEntry

Класс QNetworkAddressEntry хранит один IP-адрес, поддерживаемый сетевым интерфейсом, вместе с его ассоциированной маской сети и адресом широковещания. Подробнее...

Заголовок: #include <QNetworkAddressEntry>
CMake: find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

Общедоступные типы

Перечисление DnsEligibilityStatus { DnsEligibilityUnknown, DnsEligible, DnsIneligible }

Общедоступные функции

QNetworkAddressEntry(const QNetworkAddressEntry &other)
QNetworkAddressEntry()
QNetworkAddressEntry & operator=(const QNetworkAddressEntry &other)
~QNetworkAddressEntry()
QHostAddress broadcast() const
void clearAddressLifetime()
QNetworkAddressEntry::DnsEligibilityStatus dnsEligibility() const
QHostAddress ip() const
bool isLifetimeKnown() const
bool isPermanent() const
bool isTemporary() const
QHostAddress netmask() const
QDeadlineTimer preferredLifetime() const
int prefixLength() const
void setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)
void setBroadcast(const QHostAddress &newBroadcast)
void setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)
void setIp(const QHostAddress &newIp)
void setNetmask(const QHostAddress &newNetmask)
void setPrefixLength(int length)
void swap(QNetworkAddressEntry &other)
QDeadlineTimer validityLifetime() const
bool operator!=(const QNetworkAddressEntry &other) const
bool operator==(const QNetworkAddressEntry &other) const

Подробное описание

Каждый сетевой интерфейс может содержать ноль или более IP-адресов, которые, в свою очередь, могут быть связаны с маской сети и/или адресом широковещания (в зависимости от поддержки операционной системы).

Этот класс представляет собой одну из таких групп.

Документация по типам членов

[since 5.11] Перечисление QNetworkAddressEntry::DnsEligibilityStatus

Это перечисление указывает, может ли данный адрес узла быть опубликован в системе доменных имен (DNS) или других подобных механизмах разрешения имен. В общем случае адрес подходит для публикации, если к этому узлу можно обратиться с этого компьютера в течение неопределённого времени, хотя он не обязательно должен быть постоянным. Например, адреса, полученные через DHCP, часто подходят, но криптографически сгенерированные временные IPv6-адреса — нет.

Постоянная Значение Описание
QNetworkAddressEntry::DnsEligibilityUnknown -1 Qt и операционная система не смогли определить, следует ли публиковать этот адрес или нет. Приложению может потребоваться применить дополнительные эвристические методы, если оно не найдёт никаких подходящих адресов.
QNetworkAddressEntry::DnsEligible 1 Этот адрес подходит для публикации в DNS.
QNetworkAddressEntry::DnsIneligible 0 Этот адрес не следует публиковать в DNS и не следует передавать другим сторонам, за исключением, возможно, в качестве исходного адреса исходящего пакета.

Это перечисление было добавлено или изменено в Qt 5.11.

См. также dnsEligibility() и setDnsEligibility().

Документация по функциям-членам

QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)

Создаёт объект QNetworkAddressEntry, являющийся копией объекта other.

QNetworkAddressEntry::QNetworkAddressEntry()

Создаёт пустой объект QNetworkAddressEntry.

QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)

Создаёт копию объекта QNetworkAddressEntry other.

QNetworkAddressEntry::~QNetworkAddressEntry()

Уничтожает этот объект QNetworkAddressEntry.

QHostAddress QNetworkAddressEntry::broadcast() const

Возвращает адрес широковещания, связанный с IPv4-адресом и маской сети. Его обычно можно получить из этих двух значений, установив в 1 биты IP-адреса, где маска сети содержит 0. (Другими словами, путём побитового ИЛИ IP-адреса и инверсии маски сети).

Для IPv6-адресов этот член всегда пустой, так как понятие широковещания в этой системе было отказано в пользу многоадресной рассылки. В частности, к группе узлов, соответствующей всем узлам в локальной сети, можно обратиться по специальной многоадресной группе «все узлы» (адрес FF02::1).

См. также setBroadcast().

[since 5.11] void QNetworkAddressEntry::clearAddressLifetime()

Сбрасывает предпочтительное и действительное время жизни для этого адреса. После этого вызова isLifetimeKnown() вернёт false.

Эта функция была добавлена в Qt 5.11.

См. также preferredLifetime(), validityLifetime(), isLifetimeKnown() и setAddressLifetime().

[since 5.11] QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const

Возвращает, подходит ли этот адрес для публикации в системе доменных имен (DNS) или аналогичных механизмах разрешения имен.

В общем случае адрес подходит для публикации, если это адрес, по которому этот компьютер будет доступен в течение неопределенного времени, хотя он не обязательно должен быть постоянным. Например, адреса, полученные через DHCP, часто подходят, но криптографически сгенерированные временные адреса IPv6 не подходят.

В некоторых системах QNetworkInterface должен эвристически определить, какие адреса подходят.

Эта функция была введена в Qt 5.11.

См. также isLifetimeKnown(), isPermanent() и setDnsEligibility().

QHostAddress QNetworkAddressEntry::ip() const

Эта функция возвращает один найденный IPv4 или IPv6 адрес, который был найден в сетевом интерфейсе.

См. также setIp().

[since 5.11] bool QNetworkAddressEntry::isLifetimeKnown() const

Возвращает true , если срок службы адреса известен, false , если нет. Если срок службы не известен, и preferredLifetime(), и validityLifetime() вернут QDeadlineTimer::Forever.

Эта функция была введена в Qt 5.11.

См. также preferredLifetime(), validityLifetime(), setAddressLifetime() и clearAddressLifetime().

[since 5.11] bool QNetworkAddressEntry::isPermanent() const

Возвращает true , если этот адрес является постоянным для этого интерфейса, false , если он временный. Постоянный адрес — это адрес, у которого нет срока действия и который часто является статическим (настраивается вручную).

Если эту информацию нельзя определить, эта функция возвращает true.

Примечание: В зависимости от операционной системы и инструмента конфигурации сети, временный адрес может быть интерпретирован как постоянный, если инструмент не сообщил о подробностях правильно операционной системе.

Эта функция была введена в Qt 5.11.

См. также isLifetimeKnown(), validityLifetime() и isTemporary().

[since 5.11] bool QNetworkAddressEntry::isTemporary() const

Возвращает true , если этот адрес временный для этого интерфейса, false , если он постоянный.

Эта функция была введена в Qt 5.11.

См. также isLifetimeKnown(), validityLifetime() и isPermanent().

QHostAddress QNetworkAddressEntry::netmask() const

Возвращает маску сети, связанную с IP-адресом. Маска сети выражается в виде IP-адреса, например, 255.255.0.0.

Для IPv6-адресов длина префикса преобразуется в адрес, где количество битов, установленных в 1, равно длине префикса. Для длины префикса 64 бита (наиболее частое значение) маска сети будет выражена как QHostAddress, содержащая адрес FFFF:FFFF:FFFF:FFFF::

См. также setNetmask() и prefixLength().

[since 5.11] QDeadlineTimer QNetworkAddressEntry::preferredLifetime() const

Возвращает срок, когда этот адрес становится устаревшим (больше не предпочтительным), если известен. Если срок службы адреса неизвестен (см. isLifetimeKnown()), эта функция всегда возвращает QDeadlineTimer::Forever.

Пока адрес предпочтительный, операционная система может использовать его в качестве адреса источника для новых исходящих пакетов. После того, как он устареет, он останется допустимым для входящих пакетов некоторое время, прежде чем будет удален (см. validityLifetime()).

Эта функция была введена в Qt 5.11.

См. также validityLifetime(), isLifetimeKnown(), setAddressLifetime() и clearAddressLifetime().

int QNetworkAddressEntry::prefixLength() const

Возвращает длину префикса этого IP-адреса. Длина префикса соответствует количеству битов, установленных в 1, в маске сети (см. netmask()). Для IPv4-адресов значение находится в диапазоне от 0 до 32. Для IPv6-адресов оно находится в диапазоне от 0 до 128 и является предпочтительной формой представления адресов.

Функция возвращает -1, если длина префикса не может быть определена (т.е. netmask() возвращает нулевой QHostAddress()).

См. также setPrefixLength() и netmask().

[since 5.11] void QNetworkAddressEntry::setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)

Устанавливает предпочтительный и действительный сроки для этого адреса соответственно до preferred и validity сроков. После этого вызова isLifetimeKnown() вернёт true, даже если оба параметра равны QDeadlineTimer::Forever.

Эта функция была введена в Qt 5.11.

См. также preferredLifetime(), validityLifetime(), isLifetimeKnown() и clearAddressLifetime().

void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)

Устанавливает IP-адрес широковещательной рассылки для этого объекта QNetworkAddressEntry на newBroadcast.

См. также broadcast().

[since 5.11] void QNetworkAddressEntry::setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)

Устанавливает флаг пригодности DNS для этого адреса на status.

Эта функция была введена в Qt 5.11.

См. также dnsEligibility().

void QNetworkAddressEntry::setIp(const QHostAddress &newIp)

Устанавливает IP-адрес, содержащийся в объекте QNetworkAddressEntry, на newIp.

См. также ip().

void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)

Устанавливает маску сети, содержащуюся в этом объекте QNetworkAddressEntry, на newNetmask. Установка маски сети также устанавливает длину префикса в соответствии с новой маской сети.

См. также netmask() и setPrefixLength().

void QNetworkAddressEntry::setPrefixLength(int length)

Устанавливает длину префикса этого IP-адреса на length. Значение length должно быть допустимым для данного типа IP-адреса: от 0 до 32 для IPv4-адресов, от 0 до 128 для IPv6-адресов. Установка любого недопустимого значения эквивалентна установке -1, что означает «нет длины префикса».

Установка длины префикса также устанавливает маску сети (см. netmask()).

См. также prefixLength() и setNetmask().

[since 5.0] void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)

Меняет местами экземпляр этого сетевого адреса с other. Эта функция очень быстрая и никогда не терпит неудач.

Эта функция была введена в Qt 5.0.

[since 5.11] QDeadlineTimer QNetworkAddressEntry::validityLifetime() const

Возвращает срок, когда этот адрес становится недействительным и будет удален из стека сети, если известен. Если срок службы адреса неизвестен (см. isLifetimeKnown()), эта функция всегда возвращает QDeadlineTimer::Forever.

Пока адрес действителен, операционная система будет принимать его как действительный адрес назначения для этого компьютера. Будет ли он использоваться в качестве адреса источника для новых исходящих пакетов, контролируется, среди прочего, предпочтительным сроком службы (см. preferredLifetime()).

Эта функция была введена в Qt 5.11.

См. также preferredLifetime(), isLifetimeKnown(), setAddressLifetime() и clearAddressLifetime().

bool QNetworkAddressEntry::operator!=(const QNetworkAddressEntry &other) const

Возвращает true если запись о сетевом адресе отличается от other.

bool QNetworkAddressEntry::operator==(const QNetworkAddressEntry &other) const

Возвращает true если запись о сетевом адресе такая же, как other.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qnetworkaddressentry.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API