Qt 判断网络连接
来源:互联网 发布:佳能9100cdn网络驱动 编辑:程序博客网 时间:2024/05/19 23:13
QProcess*cmd=new QProcess;
cmd->start("ping www.baidu.com");// 等待ping 的结果
while (cmd->waitForFinished())
{
QString result= QString::fromLocal8Bit(cmd->readAll());
qDebug()<< result;
}
3、如果有自己的服务器就ping服务器(前提服务器不会挂),否则就ping一个相对可靠的IP (比如百度),通过看他ping的结果怎么样.
同时在C++ 实现 ping 功能&& 域名(URL)解析实际 IP地址 这篇博客中用C++实现了 ping的 功能,有兴趣的小伙伴可以看一看,了解一下。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
或
- 1
- 2
- 3
- 4
- 5
- 6
- 7
4、QNetworkConfigurationManager::isOnline()。
当然这个只能检查你是否有网络链接,而不能检测你是否连接到互联网。
前言
在Qt中判断网络是否连接有两种方式,其中一种是网络连接但是不一定能上网,可能只是连接了网线或者Wi-Fi,但不一定能够上互联网。另一种判断该网络是否可以连接互联网,两种情况的判别方式有所区别。
正文
第一种:只需要判断网络是否有连接,不一定能上网
这个很简单,直接通过Qt的类QNetworkConfigurationManager自带的函数就可以判断(该方法也适用于Android平台):
- 1
- 2
- 3
- 4
- 5
第二种:判断是否能上网
这种方式是检查是否连接互联网,原理:通过访问指定的网站,如果能访问成功表示已正常连接。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
通过静态函数QHostInfo::lookupHost访问指定网络后会将结果返回到槽里面,然后再将结果发送信号出去。
监测网络变化
第一种方法可以获取到当前网络状态,但是如果要实时监测到网络变化,可以通过QNetworkConfigurationManager中的信号来获取,如下
- 1
官方说明:This signal is emitted when the device changes from online to offline mode or vice versa. isOnline represents the new state of the device.
The state is considered to be online for as long as allConfigurations(QNetworkConfiguration::Active) returns a list with at least one entry.
所以,可以通过连接这个信号来实现网络监测,亲测可用。
- Qt 判断网络连接
- Qt 判断网络连接
- Qt调用win32的dll判断是否连接上了网络
- PDA判断网络连接
- 网络连接判断
- 判断网络连接状态
- android 判断网络连接
- 判断是否连接网络
- 网络连接类型判断
- android 判断网络连接
- android 判断网络连接
- 判断网络连接情况
- 判断网络连接状态
- 网络连接类型判断
- android 判断网络连接
- 判断android网络连接
- IOS判断网络连接
- android 判断网络连接
- 创建hibernate工程
- Python读取数据库,处理中文输出时,出现问号的情况
- 『朝夕日历Pro』人工智能高效管理时间
- Fisher常用网址
- 整理ajax各种请求方式
- Qt 判断网络连接
- 数据分析:Python分析学生数据
- 分享《架构真经:互联网技术架构的设计原则(原书第2版)》序言中的一段话
- Java web-内省(Introspector)
- geode(二)配置
- 1134. Vertex Cover (25)
- 【Ubuntu】安装依赖文件
- SharedPrefence的一个简单工具类
- 文章标题