Spec-Zone.ru › Qt 5.13

Класс QNetworkAddressEntry

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

Заголовок: #include <QNetworkAddressEntry>
qmake: QT += network
С момента: Qt 4.2

Этот класс был представлен в Qt 4.2.

  • Список всех членов, включая унаследованные

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

Открытые типы

Перечисление 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-адресов, которые в свою очередь могут быть связаны с маской сети и/или широковещательным адресом (в зависимости от поддержки операционной системой).

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

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

перечисление 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().

void QNetworkAddressEntry::clearAddressLifetime()

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

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

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

QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const

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

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

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

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

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

QHostAddress QNetworkAddressEntry::ip() const

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

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

bool QNetworkAddressEntry::isLifetimeKnown() const

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

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

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

bool QNetworkAddressEntry::isPermanent() const

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

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

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

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

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

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

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

Данная функция была добавлена в Qt 4.5.

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

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

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

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

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

void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)

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

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

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-5.13/qnetworkaddressentry.html

Spec-Zone.ru

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