QNetworkAddressEntry Class

QNetworkAddressEntry 클래스는 네트워크 인터페이스에서 지원하는 하나의 IP 주소를 관련 넷마스크 및 브로드캐스트 주소와 함께 저장합니다. 더 보기...

헤더: #include <QNetworkAddressEntry>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

참고: 이 클래스의 모든 함수는 재인용됩니다.

공용 유형

enum 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=(const QNetworkAddressEntry &other)
bool operator==(const QNetworkAddressEntry &other) const
(since 6.2) QDebug operator<<(QDebug debug, const QNetworkAddressEntry &entry)

상세 설명

각 네트워크 인터페이스는 0개 이상의 IP 주소를 포함할 수 있으며, 운영 체제의 지원에 따라 넷마스크 및/또는 브로드캐스트 주소와 연결될 수 있습니다.

이 클래스는 이러한 그룹 중 하나를 나타냅니다.

멤버 유형 문서

enum QNetworkAddressEntry::DnsEligibilityStatus

이 열거형은 주어진 호스트 주소가 DNS(도메인 이름 시스템) 또는 기타 유사한 이름 확인 메커니즘에 게시할 수 있는지를 나타냅니다. 일반적으로 주소는 영구적일 필요는 없지만 이 컴퓨터가 불특정 시간 동안 도달할 수 있는 주소인 경우 게시하기에 적합합니다. 예를 들어 DHCP를 통해 얻은 주소는 종종 적합하지만 암호화로 생성된 임시 IPv6 주소는 그렇지 않습니다.

상수설명
QNetworkAddressEntry::DnsEligibilityUnknown-1Qt와 운영 체제가 이 주소를 게시할지 여부를 결정할 수 없습니다. 애플리케이션이 적격 주소를 찾을 수 없는 경우 추가 휴리스틱을 적용해야 할 수 있습니다.
QNetworkAddressEntry::DnsEligible1이 주소는 DNS에 게시할 수 있습니다.
QNetworkAddressEntry::DnsIneligible0이 주소는 DNS에 게시되어서는 안 되며 발신 패킷의 소스 주소로 사용하는 경우를 제외하고는 다른 당사자에게 전송되어서는 안 됩니다.

dnsEligibility() 및 setDnsEligibility()도 참조하세요 .

멤버 기능 문서

QNetworkAddressEntry::QNetworkAddressEntry()

빈 QNetworkAddressEntry 객체를 생성합니다.

QNetworkAddressEntry::QNetworkAddressEntry(const QNetworkAddressEntry &other)

개체의 복사본인 QNetworkAddressEntry 객체 other 를 생성합니다.

[noexcept] QNetworkAddressEntry::~QNetworkAddressEntry()

QNetworkAddressEntry 객체를 삭제합니다.

QHostAddress QNetworkAddressEntry::broadcast() const

IPv4 주소 및 넷마스크와 연결된 브로드캐스트 주소를 반환합니다. 일반적으로 넷마스크에 0이 포함된 IP 주소의 비트를 1로 설정하여 이 둘로부터 파생할 수 있습니다(즉, IP 주소와 넷마스크의 역수를 비트 단위로 OR 연산하여).

멀티캐스트를 위해 해당 시스템에서 브로드캐스트 개념이 폐기되었기 때문에 IPv6 주소의 경우 이 멤버는 항상 비어 있습니다. 특히 로컬 네트워크의 모든 노드에 해당하는 호스트 그룹은 "모든 노드" 특수 멀티캐스트 그룹(주소 FF02::1)으로 도달할 수 있습니다.

setBroadcast()도 참조하세요 .

void QNetworkAddressEntry::clearAddressLifetime()

이 주소의 기본 설정 수명과 유효 수명을 모두 초기화합니다. 이 호출 후 isLifetimeKnown()는 false 을 반환합니다.

preferredLifetime(), validityLifetime(), isLifetimeKnown() 및 setAddressLifetime()도 참조하세요 .

QNetworkAddressEntry::DnsEligibilityStatus QNetworkAddressEntry::dnsEligibility() const

이 주소가 DNS(도메인 이름 시스템) 또는 유사한 이름 확인 메커니즘에 게시할 수 있는 주소인지 여부를 반환합니다.

일반적으로 주소는 영구적일 필요는 없지만 이 컴퓨터가 불확정 기간 동안 연결될 주소인 경우 공개하기에 적합합니다. 예를 들어 DHCP를 통해 얻은 주소는 적합하지만 암호화로 생성된 임시 IPv6 주소는 적합하지 않은 경우가 많습니다.

일부 시스템에서는 QNetworkInterface 에서 어떤 주소가 적격한지 휴리스틱적으로 결정해야 합니다.

isLifetimeKnown(), isPermanent() 및 setDnsEligibility()도 참조하세요 .

QHostAddress QNetworkAddressEntry::ip() const

이 함수는 네트워크 인터페이스에서 찾은 IPv4 또는 IPv6 주소 하나를 반환합니다.

setIp()도 참조하세요 .

bool QNetworkAddressEntry::isLifetimeKnown() const

주소 수명을 알면 true, 알 수 없으면 false 을 반환합니다. 수명을 알 수 없는 경우 preferredLifetime()와 validityLifetime()는 모두 QDeadlineTimer::Forever 를 반환합니다.

preferredLifetime(), validityLifetime(), setAddressLifetime() 및 clearAddressLifetime()도 참조하세요 .

bool QNetworkAddressEntry::isPermanent() const

이 주소가 이 인터페이스에서 영구 주소인 경우 true, 임시 주소인 경우 false 을 반환합니다. 영구 주소는 만료 시간이 없으며 종종 정적(수동으로 구성)인 주소를 말합니다.

이 정보를 확인할 수 없는 경우 이 함수는 true 을 반환합니다.

참고: 운영 체제 및 네트워킹 구성 도구에 따라 도구가 운영 체제에 세부 정보를 올바르게 알리지 않은 경우 임시 주소가 영구 주소로 해석될 수 있습니다.

isLifetimeKnown(), validityLifetime() 및 isTemporary()도 참조하세요 .

bool QNetworkAddressEntry::isTemporary() const

이 주소가 이 인터페이스에서 임시 주소인 경우 true, 영구 주소인 경우 false 을 반환합니다.

isLifetimeKnown(), validityLifetime() 및 isPermanent()도 참조하세요 .

QHostAddress QNetworkAddressEntry::netmask() const

IP 주소와 연결된 넷마스크를 반환합니다. 넷마스크는 255.255.0.0과 같이 IP 주소의 형태로 표시됩니다.

IPv6 주소의 경우 접두사 길이가 1로 설정된 비트 수가 접두사 길이와 같은 주소로 변환됩니다. 접두사 길이가 64비트(가장 일반적인 값)인 경우 넷마스크는 FFFF:FFFF:FFFF:FFFF: 주소를 가진 QHostAddress 로 표현됩니다:

setNetmask() 및 prefixLength()도 참조하세요 .

QDeadlineTimer QNetworkAddressEntry::preferredLifetime() const

이 주소가 더 이상 사용되지 않는(더 이상 선호되지 않는) 기한을 알 수 있는 경우 기한을 반환합니다. 주소 수명을 알 수 없는 경우( isLifetimeKnown() 참조), 이 함수는 항상 QDeadlineTimer::Forever 을 반환합니다.

이 주소가 선호되는 동안에는 운영 체제에서 새 발신 패킷의 소스 주소로 사용될 수 있습니다. 더 이상 사용되지 않게 되면 최종적으로 제거될 때까지 한동안 수신 패킷에 대해 유효하게 유지됩니다( validityLifetime() 참조).

validityLifetime(), isLifetimeKnown(), setAddressLifetime(), clearAddressLifetime()도 참조하세요 .

int QNetworkAddressEntry::prefixLength() const

이 IP 주소의 접두사 길이를 반환합니다. 접두사 길이는 넷마스크에서 1로 설정된 비트 수와 일치합니다( netmask() 참조). IPv4 주소의 경우 이 값은 0에서 32 사이입니다. IPv6 주소의 경우 0에서 128 사이이며 주소를 나타내는 기본 형식입니다.

접두사 길이를 확인할 수 없는 경우 이 함수는 -1을 반환합니다(즉, netmask()은 null QHostAddress()를 반환합니다).

setPrefixLength() 및 netmask()도 참조하세요 .

void QNetworkAddressEntry::setAddressLifetime(QDeadlineTimer preferred, QDeadlineTimer validity)

이 주소의 기본 및 유효 수명을 각각 preferredvalidity 기한으로 설정합니다. 이 호출 후 isLifetimeKnown()는 두 매개 변수가 모두 QDeadlineTimer::Forever 인 경우에도 true 을 반환합니다.

preferredLifetime(), validityLifetime(), isLifetimeKnown() 및 clearAddressLifetime()도 참조하세요 .

void QNetworkAddressEntry::setBroadcast(const QHostAddress &newBroadcast)

QNetworkAddressEntry 개체의 브로드캐스트 IP 주소를 newBroadcast 로 설정합니다.

broadcast()도 참조하세요 .

void QNetworkAddressEntry::setDnsEligibility(QNetworkAddressEntry::DnsEligibilityStatus status)

이 주소에 대한 DNS 적격성 플래그를 status 로 설정합니다.

dnsEligibility()도 참조하세요 .

void QNetworkAddressEntry::setIp(const QHostAddress &newIp)

QNetworkAddressEntry 객체에 포함된 IP 주소를 newIp 로 설정합니다.

ip()도 참조하세요 .

void QNetworkAddressEntry::setNetmask(const QHostAddress &newNetmask)

QNetworkAddressEntry 객체에 포함된 넷마스크를 newNetmask 으로 설정합니다. 넷마스크를 설정하면 접두사 길이도 새 넷마스크와 일치하도록 설정합니다.

netmask() 및 setPrefixLength()도 참조하세요 .

void QNetworkAddressEntry::setPrefixLength(int length)

이 IP 주소의 접두사 길이를 length 로 설정합니다. 이 유형의 IP 주소에는 length 값이 유효해야 합니다(IPv4 주소의 경우 0~32 사이, IPv6 주소의 경우 0~128 사이). 유효하지 않은 값으로 설정하면 -1로 설정하는 것과 같으며, 이는 "접두사 길이 없음"을 의미합니다.

접두사 길이를 설정하면 넷마스크도 설정됩니다( netmask() 참조).

prefixLength() 및 setNetmask()도 참조하세요 .

[noexcept] void QNetworkAddressEntry::swap(QNetworkAddressEntry &other)

이 네트워크 주소 입력 인스턴스를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

QDeadlineTimer QNetworkAddressEntry::validityLifetime() const

이 주소가 유효하지 않게 되어 네트워킹 스택에서 제거되는 기한을 반환합니다(알려진 경우). 주소 수명을 알 수 없는 경우( isLifetimeKnown() 참조), 이 함수는 항상 QDeadlineTimer::Forever 을 반환합니다.

주소가 유효한 동안에는 운영 체제에서 이 컴퓨터의 유효한 대상 주소로 받아들입니다. 이 주소가 새 발신 패킷의 소스 주소로 사용되는지 여부는 다른 규칙 중에서도 기본 설정 수명에 의해 제어됩니다( preferredLifetime() 참조).

preferredLifetime(), isLifetimeKnown(), setAddressLifetime() 및 clearAddressLifetime()도 참조하세요 .

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

이 네트워크 주소 항목이 other 과 다른 경우 true 을 반환합니다.

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

QNetworkAddressEntry 객체의 복사본을 만듭니다 other.

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

이 네트워크 주소 항목이 other 과 동일한 경우 true 을 반환합니다.

관련 비회원

[since 6.2] QDebug operator<<(QDebug debug, const QNetworkAddressEntry &entry)

QNetworkAddressEntry entry 을 스트림에 쓰고 debug 스트림에 대한 참조를 반환합니다.

이 함수는 Qt 6.2에 도입되었습니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.