Qt实现探测当前有没有网络连接(Wi-Fi)
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近搜了好多,现在总结如下。</span>
1、只需要探测当前有没有连上Wi-Fi(不用获取网络状态),可以调用<QNetworkConfigurationManager>类。
QNetworkConfigurationManager mgr;if(!mgr.isOnline()){qDebug()<<"请先连接Wi-Fi";}else{qDebug()<<"当前已连接上Wi-Fi";}
2、需要探测当前网络有没有数据来往,可以采用以下方法:
1:先声明一个槽:
void lookedUp(const QHostInfo &);
2:在.cpp文件里实现这个槽函数。
void MainWindow::lookedUp(const QHostInfo &host)
{if(host.error() != QHostInfo::NoError){qDebug() << "当前无网!";errTime++;}else{qDebug() << host.addresses().first().toString();ui->status->setText("已联网!");netStatus = true;}if(errTime > 20){ui->status->setText("拨号失败!");ui->pushButton_2->setEnabled(true);}
}
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
3:若要检测有没有数据,则如下调用即可。
QHostInfo::lookupHost("www.baidu.com", this, SLOT(lookedUp(QHostInfo)));
该方法的原理是通过lookUpHost()函数,ping通www.baidu.com,并返回其IP地址,如果返回了,即网络有效,如果ping了多次,还是没有任何返回,那就认为当前网络没有数据。
Qt实现探测当前有没有网络连接(Wi-Fi)相关推荐
- Android架构之高可用移动网络连接
版权声明:本文原创发布于公众号 wingjay,转载请务必注明出处!https://blog.csdn.net/lanxian837820149/article/details/88628493 读者 ...
- Qt 之处理 QNetworkAccessManager 网络连接超时
简述 在网络操作中,经常会由于各种原因引起网络连接超时,究竟何为网络连接超时? 网络连接超时:在程序默认的等待时间内没有得到服务器的响应 | 版权声明:一去.二三里,未经博主允许不得转载. 超时原因 ...
- Qt之处理QNetworkAccessManager网络连接超时
简述 在网络操作中,经常会由于各种原因引起网络连接超时,究竟何为网络连接超时? 网络连接超时:在程序默认的等待时间内没有得到服务器的响应 简述 超时原因 Qt 中的网络连接超时 如何处理超时 封装类 ...
- qt获取本机全部ipv4_QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址...
获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...
- qt获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址
获取主机名称 /** 名称:get_localmachine_name* 功能:获取本机机器名称* 参数:no* 返回:QString*/ QString CafesClient::get_local ...
- CentOS 7 网络连接优先由与无线问题解决
该解决方法不具有一般性: 由于我安装CentOS 7系统时选择的是服务器模式而不是家用个人计算机之类的模式,网络配置阶段,有线禁用了dhcp协议,也没有无线相关的内容,于是在gnome下根本没有无线网 ...
- 无线路由器和计算机怎么连接网络连接,华为无线路由器怎么连接宽带上网
一台新购买或者恢复出厂设置后的华为无线路由器,要实现连接宽带上网,需要经过以下设置步骤,本文学习啦小编主要介绍了华为无线路由器连接宽带上网的方法! 华为无线路由器连接宽带上网的方法 1.打开电脑中的浏 ...
- ping检测网络连接异常
一般来说当出现网络无法连接时,习惯性的用ping命令来ping某个ip地址,从而判断网络连接是否正常,但是ping如何来判断的呢?我们可以用下列四步骤来检验网络工作情况. Ping 127.0.0.1 ...
- 故障网络连接故障排除,第2部分:基本网络命令
原文:https://dougvitale.wordpress.com/2011/11/28/troubleshooting-faulty-network-connectivity-part-1/ h ...
最新文章
- 2022-2028年中国数字化制造产业研究及前瞻分析报告
- 识骨寻踪:少年,我看你骨骼清奇,不如来看看这本书。
- mailmessage html编码,C#MailMessage顯示HTML標記的AlternateViews
- unet论文_图像分割之RefineNet 论文笔记
- android服务之录音功能
- Android studio安装
- Oracle数据库Date类型查询问题(
- Wowza 4.3.0安装和使用 并联合海康摄像头(RTSP)实现直播推流
- Excel点击按钮隐藏指定行
- java抽象类计算正方体面积_根据下面的接口和抽象类,去实现一个正方体类(Cube)计算它表面积和体积(必须实现接口和继承抽象类),并...
- 澳鹏Appen收购Quadrant:移动定位数据业务进一步增强
- 地磅系统连不上云端服务器,LiteCMS云称重管理系统
- OutputFormat类——Hadoop
- 超火爆的人类一败涂地Human Fall Flat Mac中文版(支持m1)
- Unity3D Android接入FCM推送
- 网站如何防御DDOS攻击
- 计算机专业课考研试卷谁出卷,考研试卷谁来改?揭开考研阅卷流程内幕
- 输入电阻、输出电阻、特性阻抗、阻抗匹配
- 联想K900线刷教程 K900软件升级说明书
- 3.0 Appt2的异常问题 不一定需要关闭才能通过编译