Qt -检查互联网连接和创建线程
Qt - Check internet connection and create Threads
我需要在我的Qt应用程序中创建一个后台任务…我想知道我是否能每隔5分钟上网。所以我搜索了QThread和QNetworkSession。现在我有:
QNetworkConfigurationManager mgr;
QNetworkConfiguration ap = mgr.defaultConfiguration();
QNetworkSession *session = new QNetworkSession(ap);
session->open();
qDebug() << "session: " << session->state();
如果状态为3,我认为我已连接到互联网…但我不确定。
我想知道的是,如果这段代码真的想要我需要,如果有更好的方法来做到这一点,如果使用QThread可以在后台运行它…如果可能的话,QThread是最好的方式,你能告诉我如何使用QThread吗?
如果您只需要定期做一些小事,那么使用QTimer
比使用线程更直接。
但是,你看过QNetworkConfigurationManager::onlineStateChanged()
吗?
相关文章:
- C++使用params创建线程函数会导致转换错误
- 为什么我不能在 while 循环中创建线程?
- 如何创建线程序列以按照启动顺序执行任务?
- 使用带有 ref 参数的成员函数创建线程时出现编译错误
- std::使用类成员函数创建线程 - 最佳实践
- CPP:如何使用需要指针的方法创建线程
- 使用 lambda 表达式创建线程时,如何为每个线程提供自己的 lambda 表达式副本
- C++,如何创建线程限制/受保护的变量和函数
- BOOST_LOG_SEV在创建线程后损坏async_read_some
- 为什么当我在构造函数中创建线程时,实例化对象和对象的指针的行为不同
- 如何通过调用类中的函数来创建线程
- 如何在Silverlight本机C 中创建线程
- 通过类构造函数创建线程
- C++:创建线程时出现问题;错误 C2672:"std::invoke":找不到匹配的重载函数
- 尝试在dll main中创建线程
- 如何在Linux上为C和C 创建线程安全LIB
- 如何在 dll 中创建线程 (c++)?
- 从调度队列块 [ swift / c++ ] 创建线程
- 从成员类功能创建线程
- 创建线程,但不要立即在 Linux 中运行它