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 } |
속성
(since 6.2)
isBehindCaptivePortal : const bool(since 6.3)
isMetered : const bool- reachability : const Reachability
(since 6.3)
transportMedium : const TransportMedium
공공 기능
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::Reachability | 0x1 | 플러그인이 이 기능을 지원하는 경우 reachability 속성은 유용한 결과를 제공합니다. 그렇지 않으면 항상 Reachability::Unknown 을 반환합니다. QNetworkInformation::Reachability 를 참조하세요. |
QNetworkInformation::Feature::CaptivePortal | 0x2 | 플러그인이 이 기능을 지원하는 경우 isBehindCaptivePortal 속성이 유용한 결과를 제공합니다. 그렇지 않으면 항상 false 을 반환합니다. |
QNetworkInformation::Feature::TransportMedium | 0x4 | 플러그인에서 이 기능을 지원하는 경우 transportMedium 속성이 유용한 결과를 제공합니다. 그렇지 않으면 항상 TransportMedium::Unknown 을 반환합니다. QNetworkInformation::TransportMedium 를 참조하세요. |
QNetworkInformation::Feature::Metered | 0x8 | 플러그인이 이 기능을 지원하는 경우 isMetered 속성이 유용한 결과를 제공합니다. 그렇지 않으면 항상 false 을 반환합니다. |
Features 유형은 QFlags<Feature>에 대한 typedef입니다. Feature 값의 OR 조합을 저장합니다.
enum class QNetworkInformation::Reachability
상수 | 값 | 설명 |
---|---|---|
QNetworkInformation::Reachability::Unknown | 0 | 이 값이 반환되면 연결되었지만 OS에서 아직 완전한 연결을 확인하지 못했거나 이 기능이 지원되지 않는 것입니다. |
QNetworkInformation::Reachability::Disconnected | 1 | 시스템이 전혀 연결되지 않았을 수 있음을 나타냅니다. |
QNetworkInformation::Reachability::Local | 2 | 시스템이 네트워크에 연결되어 있지만 로컬 네트워크에 있는 디바이스에만 액세스할 수 있음을 나타냅니다. |
QNetworkInformation::Reachability::Site | 3 | 시스템이 네트워크에 연결되어 있지만 로컬 서브넷 또는 인트라넷에 있는 장치에만 액세스할 수 있음을 나타냅니다. |
QNetworkInformation::Reachability::Online | 4 | 시스템이 네트워크에 연결되어 있고 인터넷에 액세스할 수 있음을 나타냅니다. |
QNetworkInformation::reachability도 참조하세요 .
[since 6.3]
enum class QNetworkInformation::TransportMedium
현재 인터넷에 연결할 수 있는 인식된 미디어를 나열합니다.
상수 | 값 | 설명 |
---|---|---|
QNetworkInformation::TransportMedium::Unknown | 0 | OS가 활성 매체를 보고하지 않거나, 활성 매체가 Qt에서 인식되지 않거나, TransportMedium 기능이 지원되지 않는 경우 반환됩니다. |
QNetworkInformation::TransportMedium::Ethernet | 1 | 현재 활성 연결이 이더넷을 사용하고 있음을 나타냅니다. 참고: Windows가 Bluetooth 개인 영역 네트워크에 연결된 경우에도 이 값이 반환될 수 있습니다. |
QNetworkInformation::TransportMedium::Cellular | 2 | 현재 활성 연결이 셀룰러 네트워크를 사용하고 있음을 나타냅니다. |
QNetworkInformation::TransportMedium::WiFi | 3 | 현재 활성 연결이 Wi-Fi를 사용하고 있음을 나타냅니다. |
QNetworkInformation::TransportMedium::Bluetooth | 4 | 현재 활성 연결이 블루투스를 사용하여 연결되어 있음을 나타냅니다. |
이 열거형은 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 을 지원하는 모든 백엔드를 로드하려고 시도합니다. 이 경우에도 실패하면 모든 속성에 대한 기본값만 반환하는 백엔드로 되돌아갑니다.
이 플랫폼과 플러그인 간 매핑은 다음과 같습니다:
플랫폼 | 플러그인 이름 |
---|---|
Windows | networklistmanager |
Apple(macOS/iOS) | scnetworkreachability |
안드로이드 | android |
Linux | networkmanager |
이 함수는 앞의 로직으로 충분한 경우 편의를 위해 제공됩니다. 특정 플러그인이 필요한 경우 loadBackendByName() 또는 loadBackendByFeatures()을 직접 호출해야 합니다.
로드할 적절한 백엔드를 결정하고 이 백엔드가 이미 로드되어 있거나 로드에 성공하면 true
을 반환합니다. 다른 백엔드가 이미 로드되었거나 선택한 백엔드의 로딩에 실패하면 false
을 반환합니다.
이 함수는 Qt 6.3에 도입되었습니다.
[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.