I'm trying to check the internet connection state with Qt 5.4 on OS X Yosemite 10.10.3, but every time I run the code the result is connected, although I'm not connected to anything.
bool NetworkAccessManager::currentConnectivityStatus()
{
QNetworkAccessManager *namanager = new QNetworkAccessManager(this);
switch (namanager->networkAccessible()) {
case QNetworkAccessManager::UnknownAccessibility:
kdebug() << Q_FUNC_INFO << "QNetworkAccessManager::UnknownAccessibility";
break;
case QNetworkAccessManager::NotAccessible:
kdebug() << Q_FUNC_INFO << "QNetworkAccessManager::NotAccessible";
break;
case QNetworkAccessManager::Accessible:
kdebug() << Q_FUNC_INFO << "QNetworkAccessManager::Accessible";
break;
default:
break;
}
QNetworkConfigurationManager manager;
kdebug()<< Q_FUNC_INFO << " network connection " << manager.isOnline();
QNetworkConfiguration cfg = manager.defaultConfiguration();
QNetworkSession *session = new QNetworkSession(cfg);
session->open();
session->waitForOpened();
if(session->isOpen())
{
switch (session->state()) {
case QNetworkSession::Connected:
kdebug() << Q_FUNC_INFO << "QNetworkSession::Connected";
break;
case QNetworkSession::Disconnected:
kdebug() << Q_FUNC_INFO << "QNetworkSession::disconnect";
break;
default:
break;
}
}
}
And here is the result for all the above when i disconnect everything
DEBUG 2015-04-25T16:00:59.560 bool NetworkAccessManager::currentConnectivityStatus() QNetworkAccessManager::Accessible
DEBUG 2015-04-25T16:00:59.560 bool NetworkAccessManager::currentConnectivityStatus() network connection OK true
DEBUG 2015-04-25T16:00:59.560 bool NetworkAccessManager::currentConnectivityStatus() QNetworkSession::Connected