Класс QNetworkAddressEntry
Класс QNetworkAddressEntry хранит один IP-адрес, поддерживаемый сетевым интерфейсом, вместе с его маской сети и широковещательным адресом. Подробнее...
| Заголовок: | #include <QNetworkAddressEntry> |
| qmake: | QT += network |
| С момента: | Qt 4.2 |
Примечание: Все функции в этом классе являются входными.
Типы публичного доступа
| Перечисление | DnsEligibilityStatus { DnsEligibilityUnknown, DnsEligible, DnsIneligible } |
Функции публичного доступа
| QNetworkAddressEntry() | |
| QNetworkAddressEntry(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 |
| QNetworkAddressEntry & | operator=(QNetworkAddressEntry &&other) |
| QNetworkAddressEntry & | operator=(const QNetworkAddressEntry &other) |
| bool | operator==(const QNetworkAddressEntry &other) const |
Подробное описание
Класс QNetworkAddressEntry хранит один IP-адрес, поддерживаемый сетевым интерфейсом, вместе с его маской сети и широковещательным адресом.
Каждый сетевой интерфейс может содержать ноль или более 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()
Создает пустой объект QNetworkAddressEntry.
QNetworkAddressEntry::QNetworkAddressEntry(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.
QNetworkAddressEntry &QNetworkAddressEntry::operator=(QNetworkAddressEntry &&other)
Оператор перемещающего присваивания.
QNetworkAddressEntry &QNetworkAddressEntry::operator=(const QNetworkAddressEntry &other)
Создает копию объекта QNetworkAddressEntry 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/archives/qt-5.11/qnetworkaddressentry.html