QNetworkInformation Class

Q네트워크정보는 네이티브 백엔드를 통해 다양한 네트워크 정보를 노출합니다. 더 보기...

Header: #include <QNetworkInformation>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
이후: Qt 6.1
상속합니다: QObject

공용 형

enum class Feature { Reachability, CaptivePortal, TransportMedium, Metered }
flags Features
enum class Reachability { Unknown, Disconnected, Local, Site, Online }
(since 6.3) enum class TransportMedium { Unknown, Ethernet, Cellular, WiFi, Bluetooth }

속성

공공 기능

QString backendName() const
bool isBehindCaptivePortal() const
bool isMetered() const
QNetworkInformation::Reachability reachability() const
(since 6.3) QNetworkInformation::Features supportedFeatures() const
bool supports(QNetworkInformation::Features features) const
QNetworkInformation::TransportMedium transportMedium() const

신호

void isBehindCaptivePortalChanged(bool state)
void isMeteredChanged(bool isMetered)
void reachabilityChanged(QNetworkInformation::Reachability newReachability)
void transportMediumChanged(QNetworkInformation::TransportMedium current)

정적 공용 멤버

QStringList availableBackends()
QNetworkInformation *instance()
(since 6.4) bool loadBackendByFeatures(QNetworkInformation::Features features)
(since 6.4) bool loadBackendByName(QStringView backend)
(since 6.3) bool loadDefaultBackend()

상세 설명

QNetworkInformation은 플러그인을 통해 네트워크 관련 정보에 대한 크로스 플랫폼 인터페이스를 제공합니다.

다양한 플러그인이 다양한 기능을 지원할 수 있으므로 필요한 기능에 따라 플러그인을 로드()할 수 있습니다.

QNetworkInformation은 싱글톤이며, 처음 load()에 성공한 이후 QCoreApplication 객체가 소멸될 때까지 살아 있는 상태를 유지합니다. QCoreApplication 객체를 파괴하고 다시 생성하는 경우 load()를 다시 호출해야 합니다.

QNetworkInformation::Feature참조하세요 .

멤버 유형 문서

열거형 클래스 Q네트워크정보::기능
플래그 Q네트워크정보::기능

플러그인이 현재 지원할 수 있는 모든 기능을 나열합니다. QNetworkInformation::load()에서 사용할 수 있습니다.

상수설명
QNetworkInformation::Feature::Reachability0x1플러그인이 이 기능을 지원하는 경우 reachability 속성은 유용한 결과를 제공합니다. 그렇지 않으면 항상 Reachability::Unknown 을 반환합니다. QNetworkInformation::Reachability 를 참조하세요.
QNetworkInformation::Feature::CaptivePortal0x2플러그인이 이 기능을 지원하는 경우 isBehindCaptivePortal 속성이 유용한 결과를 제공합니다. 그렇지 않으면 항상 false 을 반환합니다.
QNetworkInformation::Feature::TransportMedium0x4플러그인에서 이 기능을 지원하는 경우 transportMedium 속성이 유용한 결과를 제공합니다. 그렇지 않으면 항상 TransportMedium::Unknown 을 반환합니다. QNetworkInformation::TransportMedium 를 참조하세요.
QNetworkInformation::Feature::Metered0x8플러그인이 이 기능을 지원하는 경우 isMetered 속성이 유용한 결과를 제공합니다. 그렇지 않으면 항상 false 을 반환합니다.

Features 유형은 QFlags<Feature>에 대한 typedef입니다. Feature 값의 OR 조합을 저장합니다.

enum class QNetworkInformation::Reachability

상수설명
QNetworkInformation::Reachability::Unknown0이 값이 반환되면 연결되었지만 OS에서 아직 완전한 연결을 확인하지 못했거나 이 기능이 지원되지 않는 것입니다.
QNetworkInformation::Reachability::Disconnected1시스템이 전혀 연결되지 않았을 수 있음을 나타냅니다.
QNetworkInformation::Reachability::Local2시스템이 네트워크에 연결되어 있지만 로컬 네트워크에 있는 디바이스에만 액세스할 수 있음을 나타냅니다.
QNetworkInformation::Reachability::Site3시스템이 네트워크에 연결되어 있지만 로컬 서브넷 또는 인트라넷에 있는 장치에만 액세스할 수 있음을 나타냅니다.
QNetworkInformation::Reachability::Online4시스템이 네트워크에 연결되어 있고 인터넷에 액세스할 수 있음을 나타냅니다.

QNetworkInformation::reachability도 참조하세요 .

[since 6.3] enum class QNetworkInformation::TransportMedium

현재 인터넷에 연결할 수 있는 인식된 미디어를 나열합니다.

상수설명
QNetworkInformation::TransportMedium::Unknown0OS가 활성 매체를 보고하지 않거나, 활성 매체가 Qt에서 인식되지 않거나, TransportMedium 기능이 지원되지 않는 경우 반환됩니다.
QNetworkInformation::TransportMedium::Ethernet1현재 활성 연결이 이더넷을 사용하고 있음을 나타냅니다. 참고: Windows가 Bluetooth 개인 영역 네트워크에 연결된 경우에도 이 값이 반환될 수 있습니다.
QNetworkInformation::TransportMedium::Cellular2현재 활성 연결이 셀룰러 네트워크를 사용하고 있음을 나타냅니다.
QNetworkInformation::TransportMedium::WiFi3현재 활성 연결이 Wi-Fi를 사용하고 있음을 나타냅니다.
QNetworkInformation::TransportMedium::Bluetooth4현재 활성 연결이 블루투스를 사용하여 연결되어 있음을 나타냅니다.

이 열거형은 Qt 6.3에 도입되었습니다.

QNetworkInformation::transportMedium참조하십시오 .

속성 문서

[read-only, since 6.2] isBehindCaptivePortal : const bool

사용자 디바이스가 캡티브 포털 뒤에 있는지 여부를 알려줍니다.

이 속성은 사용자의 디바이스가 현재 캡티브 포털 뒤에 있는 것으로 알려져 있는지 여부를 나타냅니다. 이 기능은 운영 체제의 캡티브 포털 감지에 의존하며 이를 보고하지 않는 시스템에서는 지원되지 않습니다. 이 기능이 지원되지 않는 시스템에서는 항상 false 을 반환합니다.

이 속성은 Qt 6.2에 도입되었습니다.

액세스 함수:

bool isBehindCaptivePortal() const

알림 신호:

void isBehindCaptivePortalChanged(bool state)

[read-only, since 6.3] isMetered : const bool

현재 연결이 미터링되는지 확인

이 속성은 현재 연결이 미터링되는지(알려진) 여부를 반환합니다. 이를 참고하여 애플리케이션에서 특정 네트워크 요청이나 업로드를 수행할지 여부를 결정할 수 있습니다. 예를 들어, 이 속성이 true 인 동안에는 로그나 진단을 업로드하지 않을 수 있습니다.

이 프로퍼티는 Qt 6.3에 도입되었습니다.

액세스 함수:

bool isMetered() const

알림 신호:

void isMeteredChanged(bool isMetered)

[read-only] reachability : const Reachability

이 속성에는 시스템의 현재 네트워크 연결 상태가 저장됩니다.

예상되는 연결 수준을 나타냅니다. 이는 플러그인/운영 체제에서 보고하는 것을 기반으로 한다는 점에 유의하세요. 특정 시나리오에서는 잘못된 것으로 알려져 있습니다. 예를 들어 Windows에서 '온라인' 확인은 기본적으로 Windows가 Microsoft 소유의 서버에 연결하여 수행됩니다. 이 서버가 어떤 이유로든 차단된 경우 온라인에 연결할 수 없는 것으로 간주합니다. 따라서 연결을 시도하기 전에 이 검사를 사전 검사로 사용해서는 안 됩니다.

액세스 기능:

QNetworkInformation::Reachability reachability() const

알림 신호:

void reachabilityChanged(QNetworkInformation::Reachability newReachability)

[read-only, since 6.3] transportMedium : const TransportMedium

이 속성은 애플리케이션의 현재 활성 전송 매체를 보유합니다.

이 속성은 해당 정보를 사용할 수 있는 운영 체제에서 애플리케이션의 현재 활성 전송 매체를 반환합니다.

예를 들어 사용자가 WiFi 네트워크 범위를 벗어나거나 이더넷 케이블을 분리하거나 비행기 모드를 활성화할 때 현재 전송 매체가 변경되면 신호가 방출됩니다.

이 속성은 Qt 6.3에 도입되었습니다.

액세스 기능:

QNetworkInformation::TransportMedium transportMedium() const

알림 신호:

void transportMediumChanged(QNetworkInformation::TransportMedium current)

멤버 함수 문서

[static] QStringList QNetworkInformation::availableBackends()

현재 사용 가능한 모든 백엔드의 이름 목록을 반환합니다.

QString QNetworkInformation::backendName() const

현재 로드된 백엔드의 이름을 반환합니다.

[static] QNetworkInformation *QNetworkInformation::instance()

QNetworkInformation 의 인스턴스에 대한 포인터(있는 경우)를 반환합니다.

load()도 참조하세요 .

[static, since 6.4] bool QNetworkInformation::loadBackendByFeatures(QNetworkInformation::Features features)

features 을 지원하는 백엔드를 로드합니다.

요청된 백엔드를 로드할 수 있거나 이미 로드된 경우 true 를 반환합니다. 그렇지 않으면 false 을 반환합니다.

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

instance참조하십시오 .

[static, since 6.4] bool QNetworkInformation::loadBackendByName(QStringView backend)

backend (대소문자를 구분하지 않음)와 이름이 일치하는 백엔드를 로드하려고 시도합니다.

요청된 백엔드를 로드할 수 있거나 이미 로드된 경우 true 을 반환합니다. 그렇지 않으면 false 을 반환합니다.

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

instance참조하십시오 .

[static, since 6.3] bool QNetworkInformation::loadDefaultBackend()

플랫폼 기본 백엔드를 로드하려고 시도합니다.

참고: 6.7부터는 플랫폼 기본 백엔드를 사용할 수 없거나 로드에 실패하면 Reachability 을 지원하는 모든 백엔드를 로드하려고 시도합니다. 이 경우에도 실패하면 모든 속성에 대한 기본값만 반환하는 백엔드로 되돌아갑니다.

이 플랫폼과 플러그인 간 매핑은 다음과 같습니다:

플랫폼플러그인 이름
Windowsnetworklistmanager
Apple(macOS/iOS)scnetworkreachability
안드로이드android
Linuxnetworkmanager

이 함수는 앞의 로직으로 충분한 경우 편의를 위해 제공됩니다. 특정 플러그인이 필요한 경우 loadBackendByName() 또는 loadBackendByFeatures()을 직접 호출해야 합니다.

로드할 적절한 백엔드를 결정하고 이 백엔드가 이미 로드되어 있거나 로드에 성공하면 true 을 반환합니다. 다른 백엔드가 이미 로드되었거나 선택한 백엔드의 로딩에 실패하면 false 을 반환합니다.

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

instance() 및 load()도 참조하세요 .

[since 6.3] QNetworkInformation::Features QNetworkInformation::supportedFeatures() const

현재 백엔드에서 지원되는 모든 기능을 반환합니다.

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

bool QNetworkInformation::supports(QNetworkInformation::Features features) const

현재 로드된 백엔드가 features 을 지원하는 경우 true 을 반환합니다.

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